2011-01-06 4 views
1

Ich verwende inno-Setup, um eine vb6-Anwendung und Treiber zu installieren. Alles funktioniert auf x86 und x64, aber am Ende der Installation unter Windows 7 wird ein Dialogfeld mit der Meldung "Device Driver Installation Wizard" angezeigt: "Sie müssen die 64-Bit-Version von DPInst.exe auf diesem Computer ausführen. Wenden Sie sich an den Anbieter, von dem Sie diese Software erhalten haben.Wie kann verhindert werden, dass der Treiber zur Installation des Gerätetreibers am Ende der Installation von "inno setup" angezeigt wird?

Ich verwende die Version von DPInst.exe, die aus dem Windows 7-Treiber-Entwicklungskit stammt und habe versucht, das Installationsprogramm auf dem Windows 7-Computer zu kompilieren, aber die gleichen Ergebnisse erhalten.

Kann jemand bitte darauf hinweisen, was ich vermisse?

Das Skript recht groß ist, ist so hier, was ich denke, der entsprechende Code ist:

[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 
+0

Ich nehme an, Sie installieren den Treiber, indem Sie DPInst.exe von Inno-Setup ausführen, erhalten Sie die gleiche Nachricht, wenn Sie die EXE von der Befehlszeile auf diesem Computer ausführen? – jachguate

+0

Ich habe versucht, DPInst.exe von der Eingabeaufforderung ausgeführt und die gleiche Nachricht erhalten. – sparkdino

+0

Wenn dies der Fall ist, bezieht sich dieses Problem nicht auf Inno-Setup, sondern auf DPInst.exe. Aus Inno-Sicht müssen Sie nur eine gültige DPInst.exe bereitstellen (eine, die keine Warnung auf dem Zielsystem ausgibt). Vergessen Sie nicht, das @jachguate in Ihre Kommentare einzufügen, wenn Sie möchten, dass ich es durch das System merke. – jachguate

Antwort

1

Aktualisiert Antwort: Es sieht aus wie, basierend auf Ihrem Skript, werden Sie das gleiche DPInst.exe läuft sowohl sowohl 32 Bit als auch 64 Bit. Nach http://www.winvistatips.com/correct-version-dpinst-exe-use-windows-vista-32-64-bit-t438327.html gibt es verschiedene Versionen von DPInst.exe für jede Plattform. So sollte Ihr Skript so etwas wie sein:

[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 

Original-Kommentar: Können Sie Ihre InnoSetup Skript schreiben? Kann der Befehl zweimal versehentlich ausgeführt werden?
Sind Sie sicher, dass DPInst.exe in Ihrem Skript ausgeführt wird?

+0

Das sieht wie ein Kommentar zu der Frage aus, nicht wie eine gültige Antwort darauf. – jachguate

+0

Danke für die Hilfe - konnte den Wald für die Bäume nicht sehen - Das Problem war die zwei scheinbar identische Versionen von DPInst (einer scheint nur auf x86 zu arbeiten, aber der andere scheint nur auf x64 zu arbeiten - ich dachte, es wäre rückwärts kompatibel - mein schlechtes). – sparkdino

+0

Froh, dass es funktioniert hat. Microsoft scheint gleiche Dateinamen für verschiedene Versionen von Tools zu mögen. – mirtheil

Verwandte Themen