我們已經有了一段時代的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設置提供補償?
2
A
回答
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
相關問題
- 1. 我是否必須爲iOS 8啓動圖像提供LaunchScreen.xib?
- 2. Parsec倉位作爲補償
- 3. 我是否總是必須提供Tkx的-command參數爲匿名子例程?
- 4. 如果我設置了$ VIM,是否必須設置$ VIMRUNTIME?
- 5. 我是否必須爲每個UITextField設置委託?
- 6. 我是否必須將hibernate設置爲weblogic?
- 7. Java XmX =我是否必須將它設置爲防止Linux OOM
- 8. 如何在Parallels上設置Windows 64位?
- 9. 64位Windows XP是否提供與32位exe文件的兼容?
- 10. 提供的DisplayObject必須是調用
- 11. 爲什麼我們必須在Django設置中提供WSGI_APPLICATION變量
- 12. 我是否必須配置SQLiteCommand對象?
- 13. 我們是否必須購買一個域來爲Bugzilla提供服務?
- 14. 解碼圖像失敗。提供的圖像必須是位圖
- 15. 我必須提供FACEBOOK_APP_ID和FACEBOOK_SECRET
- 16. 是否可以在inno setup(32或64位)中設置安裝模式?
- 17. 在Windows 7上的64位證書提供者親
- 18. 我們如何爲64位操作系統設置oledb提供程序
- 19. Laravel 4:值必須提供
- 20. 您必須爲此請求提供CFbundleideier
- 21. PropertyName必須設置爲ControlParameter'SubcategoryId'
- 22. 我是否必須在我的服務器上安裝DNX來爲asp.net 5網站提供服務?
- 23. 我是否必須保留`DEVICE_ID_EMULATOR`作爲廣告的設備ID
- 24. 提供了無效的請求URI。 URI必須是絕對URI或BaseAddress請求必須設置
- 25. 當我調用addEventListener時,是否必須設置removeEventListener?
- 26. 是否有任何危險來補償負邊際相對位置?
- 27. 提供者是gps時返回的位置是否爲空?
- 28. 用戶必須提供terminate()函數是否線程安全?
- 29. 在Windows上發送原始以太網II幀時,我必須提供FCS嗎?
- 30. 爲什麼我們必須提供boost :: get的參數類型?
在這種情況下,存在的任何DLL的或EXE的沒有64位版本。我只是想知道,如果我必須確保INNO會把EXE和相關DLL的位於C:\ Program Files文件(x86)的\文件夾在用戶的計算機上的區域,或者如果我必須做一些關於確保這種情況發生。 – Rod
如果沒有64位版本的DLL或EXE,那麼我認爲您應該將其安裝爲32位應用程序。如果您在我的答案中未提供Setup指令,則INNO將假定32位安裝,並且{pf}將映射到C:\ Program Files(x86)\。 – rushman