![](/img/trans.png)
[英]Create an SSRS Report using a CSV Data Source (overcome x86 vs x64 issues)
[英]Installing files to x64 “Program Files” from x86 msi
我正在使用具有兩個功能的InstallShield 2010(基本MSI)創建安裝程序。
第一個功能包括:
第二個功能包含單個組件,它是編譯為AnyCPU的MS Reporting Services的擴展。
在UI序列期間,我使用InstallScript自定義操作來枚舉x86和x64注冊表樹中的所有可用Reporting Services實例。
系統將提示用戶選擇要部署擴展的實例。
根據選定的實例,我在文件系統中查詢Reporting Services的實際位置,通常類似於“C:\\ Program Files \\ Microsoft SQL Server \\ MSSQL.2 \\ Reporting Services”,並將此值存儲在MSI屬性中。
然后通過使用Set Directory操作,我將組件的目標目錄(我們的擴展名)設置為該MSI屬性的值。
除非您嘗試為x64 Reporting Services安裝它,否則一切都安裝得非常好,因為擴展文件安裝在錯誤的位置。 即使您將MSI屬性設置為正確的路徑“C:\\ Program Files \\ MicroSoft ...”(我已經檢查了msi日志)它看起來像系統自動重定向到“Program Files(x86)”。
有沒有可能的解決方案來克服這個問題?
如果需要安裝到64位ProgramFiles文件夾,請使用64位MSI。
最后我自己解決了這個問題,而沒有使用InstallScript自定義操作創建64位MSI。
首先安裝自定義操作:
第二個卸載自定義操作:
您可以將INSTALLDIR屬性更改為ProgramFile64而不是ProgramFiles,這將幫助您在所需的路徑上安裝,因為您的應用程序是32位,因此路徑將是C:\\ ProgramFiles(x86)\\ Your Company Name \\ Your Product Name along有這個你是否使你的組件兼容64位?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.