2017-04-16 69 views
0

我有一個應用程序,它具有在其下面安裝多個組件的引導程序。下面的代碼使用ninject有一個鬆散耦合的數據庫層。WiX引導程序,全局安裝目錄

關於bundle/bootstrapper,我想將數據庫層移出到單獨的msi中,以便在安裝時支持可選的數據層選擇(例如:單選按鈕來安裝SQLite/SQLExpress/MySQL等。 )。

雖然數據庫組件需要安裝到主應用程序的根目錄/安裝目錄,但我很努力地弄清楚如何讓安裝目錄工作。 (而不是使用gac等)。

我該怎麼做?我試過這裏提到的步驟:How to use properties to set the installation path?但無濟於事。我必須有錯誤的東西..但鑑於代碼分佈在5(ish)文件,它似乎有點大,加載在這裏!

任何指示開始試圖實現這一點,或者我應該繼續並上傳代碼?

回答

0

你引用的方法應該有效。但是請注意,該屬性的名稱中

<MsiProperty Name="INSTALLLOCATION" 

給予應與相應的MSI軟件包的文件WXS中使用的名稱。通常,如果MSI是基於WixUI_InstallDir模板創建的,則名稱將爲APPLICATIONFOLDER,並且在沒有UI的默認模板中爲INSTALLFOLDER。

+0

因此,在設置該屬性到'program files \ appname'的例子中,我鏈接到的例子將bootstrapper變量設置爲'programfilesfolder'然後我需要添加appname嗎?我不想讓用戶配置安裝目錄,只需將所有可選組件安裝到同一目錄即可。對不起,如果我在這裏聽起來有點背後,只是很多未知數! –

+0

是的,您可以將安裝目錄設置爲您想要的任何內容,例如值=「[ProgramFilesFolder] YourCompanyName \ YourAppName」 – dvorn

+0

你的寶石!作品一種享受!那真是太棒了,我一直在想方設法解決問題。主要缺失的細節是要通過的msi屬性的名稱,基於ui/non-ui等。 –

相關問題