2011-11-10 37 views
2

我們已經有了一段時代的VB6應用程序,它有時需要更新並安裝在我們用戶的機器上。我們已經開始使用Inno,尤其是InnoIDE來製作setup.exe,以便將它傳送到用戶的PC上。但是,我想知道64位Windows和Inno設置。我們有幾臺機器,它們是64位版本的Windows 7 Professional。我已經成功地將我們的應用程序,使用Inno的安裝程序安裝到32位Windows XP機器上。我可以在我們的64位Windows 7機器上使用相同的設置嗎?它會自動將.exe放入C:\ Program Files(x86)\目錄結構,還是必須考慮64位版本的Windows?我是否必須爲64位Windows上的Inno設置提供補償?

回答

1

如果你的應用程序只有32位,然後匯創會自動採取正確做所有的事。

只有如果你的應用程序混合或64位你需要做什麼特別的rushman說。 幫助文件中有一個很好的section,它解釋了所需的更改。

如果你安裝任何64位的設備驅動程序,則調用最newdev和SETUPAPI切入點將失敗,錯誤代碼0xE0000235(ERROR_IN_WOW64)。這些調用僅在從64位代碼調用時才起作用,而Inno尚未編譯64位安裝程序。您可以使用pnputil.exe,通過添加64位存根可執行文件或切換到WiX來解決問題。

1

對於64位INNO intallations你一般只需要添加一個設置部分指令,顯然,添加DLL的和EXE的64位版本的編譯安裝程序。

設置部分指令是:

ArchitecturesInstallIn64BitMode = 64

+0

在這種情況下,存在的任何DLL的或EXE的沒有64位版本。我只是想知道,如果我必須確保INNO會把EXE和相關DLL的位於C:\ Program Files文件(x86)的\文件夾在用戶的計算機上的區域,或者如果我必須做一些關於確保這種情況發生。 – Rod

+0

如果沒有64位版本的DLL或EXE,那麼我認爲您應該將其安裝爲32位應用程序。如果您在我的答案中未提供Setup指令,則INNO將假定32位安裝,並且{pf}將映射到C:\ Program Files(x86)\。 – rushman

相關問題