我有一個使用InstallShield Premium 2012爲我自己的Windows EXE編寫的安裝腳本。但是,我的EXE最終依賴於Microsoft EXE提供的狀態組件,這些組件稱爲AccessDatabaseEngine 。可執行程序。MSI錯誤1500:InstallShield高級版無法運行輔助嵌入式安裝EXE
爲了運行此AccessDatabaseEngine.exe可執行文件我的安裝,我增加一條,作爲一個嵌入二進制資源再使用的自定義操作嚮導發動AccessDatabaseEngine.exe爲「系統上下文延遲執行」作爲「後PublishFeatures」安裝Exec序列。這按預期工作:安裝完成大部分工作後,AccessDatabaseEngine.exe將啓動。
但是,一旦我看到AccessDatabaseEngine.exe的UI並確認其UI提示,我會看到「錯誤1500」,表示正在進行其他安裝。
我知道兩個MSI軟件包不能同時運行,除非您調整註冊表以允許它,而我不想在我的客戶的工作站(Windows 7 32位計算機)上執行此操作。
我想成功地實施這些選項之一:
方案一:讓用戶推出我的Setup.exe程序,它會在某個時候推出微軟AccessDatabaseEngine.exe,而不會產生任何錯誤消息。我只是不知道如何做到這一點,而不會導致錯誤1500出現...
選項2:如果可以以某種方式將我的Setup.exe與Microsoft的AccessDatabaseEngine.exe一起包裝到一個EXE中,那麼我可以爲我的最終用戶提供單一的EXE,並且它將首先執行嵌入式Setup.exe,一旦完成,它將執行AccessDatabaseEngine.exe。
我意識到,我可以實現選項二作爲.BAT(批處理)文件,但我希望提供只有一個EXE到我的最終用戶和有一個單一的EXE安裝我的軟件正常運行所需的一切。
任何想法?
謝謝 - 這是一個可以接受的解決方案,但AccessDatabaseEngine.exe作爲單獨的EXE結束在一個文件夾中(理想情況下)我想要一個沒有外部依賴關係的Setup.exe;另外,我的Setup.exe(直接編輯器| ISRelease |密碼列)上有一個密碼,在出現Setup.exe之前出現密碼提示,然後在啓動先決條件AccessDatabaseEngine.exe之前再次出現密碼提示(理想情況下,我希望提示pw提示符只出現一次)。在這一點上,我會打開一個第三方工具,如果存在這樣的工具,可能會將Setup.exe和該文件夾與其他exe文件一起打包。 – Jazimov
我不確定密碼,但對於外部文件,您可以在可再發行組件視圖的右鍵單擊屬性或發行版視圖中的發行配置中設置位置。 –
就外部文件而言,可再分發屬性讓您選擇本地路徑或Web位置(由於客戶端防火牆和代理限制,這對我來說不是一種選擇);發佈配置允許我更改AccessDatabaseEngine.exe的名稱/位置,但我看不到嵌入它的方法。理想情況下,我想將AccessDatabaseEngine.exe作爲二進制資源添加,然後讓安裝程序提取它,以便它可以作爲先決條件執行它。這可以讓我提供一個setup.exe文件給我的客戶端。 – Jazimov