Как предотвратить предупреждение мастера установки драйвера устройства в конце установки inno setup? - PullRequest
1 голос
/ 06 января 2011

Я использую inno setup для установки приложения и драйверов vb6. На x86 и x64 все работает нормально, но в конце установки в Windows 7 отображается окно сообщения мастера установки драйвера устройства, в котором говорится: «На этом компьютере необходимо запустить 64-разрядную версию DPInst.exe. Обратитесь к поставщику, который предоставил вам это программное обеспечение ».

Я использую версию DPInst.exe, которая поставляется из комплекта разработки драйверов для Windows 7, и пыталась скомпилировать установщик на компьютере с Windows 7, но получила те же результаты.

Может кто-нибудь указать, что мне не хватает?

Сценарий достаточно большой, поэтому я думаю, что вот соответствующий код:

[Setup]
ArchitecturesInstallIn64BitMode=x64

[Run]
Filename: {app}\DigidownHost.exe;   Description: {cm:LaunchProgram,DigidownHost}; Flags: nowait postinstall skipifsilent
Filename: {app}\Drivers\DPInst.exe; Description: {cm:LaunchProgram,DigidownHost}; Flags: skipifsilent waituntilterminated

[Files]
Source: TOBE Installed\DigidownHost.exe;  DestDir: {app}; Flags: ignoreversion

Source: TOBE Installed\XZip.dll;          DestDir: {sys};               Flags: regserver;   Check: not Is64BitInstallMode
Source: TOBE Installed\MSCOMM32.OCX;      DestDir: {sys};               Flags: regserver;   Check: not Is64BitInstallMode
Source: TOBE Installed\FTChipID.dll;      DestDir: {sys};                                   Check: not Is64BitInstallMode
Source: TOBE Installed\ftd2xx.dll;        DestDir: {sys};                                   Check: not Is64BitInstallMode

Source: TOBE Installed\XZip.dll;          DestDir: {syswow64};          Flags: regserver;   Check: Is64BitInstallMode
Source: TOBE Installed\MSCOMM32.OCX;      DestDir: {syswow64};          Flags: regserver;   Check: Is64BitInstallMode
Source: TOBE Installed\FTChipID.dll;      DestDir: {syswow64};                              Check: Is64BitInstallMode
Source: TOBE Installed\ftd2xx.dll;        DestDir: {syswow64};                              Check: Is64BitInstallMode

Source: TOBE Installed\Settings.ini;      DestDir: {app};               Flags: ignoreversion
Source: TOBE Installed\Drivers\*.*;       DestDir: {app}\drivers;       Flags: ignoreversion deleteafterinstall
Source: TOBE Installed\Drivers\amd64\*.*; DestDir: {app}\drivers\amd64; Flags: ignoreversion deleteafterinstall;  Check: Is64BitInstallMode
Source: TOBE Installed\Drivers\i386\*.*;  DestDir: {app}\drivers\i386;  Flags: ignoreversion deleteafterinstall;  Check: not Is64BitInstallMode

1 Ответ

1 голос
/ 06 января 2011

Обновленный ответ: По вашему сценарию, вы запускаете один и тот же DPInst.exe как 32-битный, так и 64-битный.Согласно http://www.winvistatips.com/correct-version-dpinst-exe-use-windows-vista-32-64-bit-t438327.html, существуют разные версии DPInst.exe для каждой платформы.Таким образом, ваш скрипт должен выглядеть примерно так:

[Run]
Filename: {app}\Drivers\x86\DPInst.exe; Description: {cm:LaunchProgram,DigidownHost}; Flags: skipifsilent waituntilterminated; Check: Not Is64BitInstallMode
Filename: {app}\Drivers\amd64\DPInst.exe; Description: {cm:LaunchProgram,DigidownHost}; Flags: skipifsilent waituntilterminated; Check: Is64BitInstallMode

Оригинальный комментарий: Можете ли вы опубликовать свой скрипт InnoSetup?Может быть, он запускает команду дважды случайно?
Вы уверены, что в вашем скрипте правильно запускается DPInst.exe?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...