Jak zainstalować sterownik za pomocą InnoSetup?
Chciałbym zainstalować sterownik dla portu szeregowego za pomocą InnoSetup. Mam plik inf i mogę zainstalować sterownik ręcznie za pomocą Menedżera urządzeń, ale chciałbym móc uwzględnić sterownik w moim instalatorze, aby użytkownicy nie musieli zadawać sobie trudu z instalacją samego sterownika.
3 answers
Zobacz InstallHinfSection na MSDN. Dokumentacja wspomina również, jak wywołać instalację, wywołując ' Rundll32.exe". Pewnie skończysz z czymś takim:
[Files]
..
Source: "driver\my_x86driver.inf"; DestDir: {app}\driver;
Source: "driver\my_x86driver.sys"; DestDir: {app}\driver;
[Run]
..
Filename: {sys}\rundll32.exe; Parameters: "setupapi,InstallHinfSection DefaultInstall 128 {app}\driver\my_x86driver.inf"; WorkingDir: {app}\driver; Flags: 32bit;
zauważ, że może być konieczne uruchomienie konfiguracji w trybie 64-bitowym w systemach 64-bitowych, aby móc zainstalować sterownik:
[Setup]
..
ArchitecturesInstallIn64BitMode=x64
Również można umieścić kontrole, aby uruchomić wersję .plik inf w zależności od architektury maszyny (np. Check: Is64BitInstallMode
).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-13 22:44:12
To jest lepsza odpowiedź: Inno setup: zainstalować sterowniki z rundll32 lub dpinst?
Używanie InstallHinfSection w Windows 7 i nowszych systemach wydaje się być albo zepsute, albo obarczone trudnościami. Wykonywanie pracy z pliku wsadowego jest trudne, wykonywanie pracy z innosetup jest jeszcze trudniejsze. DPINST wydaje się preferowany i jest prostszy.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:33:13
Użyłem dpinst tak:
[Files]
Source: "Source\dpinst\dpinst32.exe"; DestDir: "{app}\driver"; DestName: dpinst.exe; Check: not IsWin64; Flags: ignoreversion
Source: "Source\dpinst\dpinst64.exe"; DestDir: "{app}\driver"; DestName: dpinst.exe; Check: IsWin64; Flags: ignoreversion
[Run]
Filename: "{app}\driver\dpinst.exe"; Parameters: "/A /LM";
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-12 12:01:11