2017-08-08 100 views
0

我曾經使用NSIS爲我的產品製作安裝程序,但我被告知Wix的編碼更清晰,更靈活。如何選擇使用Wix Installer安裝(或不安裝)某些功能?

雖然我遇到了一個問題,因爲在安裝期間用戶可能決定安裝MySql或不安裝。

我該如何設置?

我正在使用引導程序,它調用主MSI程序包(使用我的產品和對話框進行配置,並且用戶可能設置爲安裝或不安裝MySql)。在同一個引導程序中,我有MySql安裝程序調用。我如何才能在需要時安裝?

解釋我的文件結構: 我有一個MySql.wxs片段,以及PackageGroupRef在Bundle.wxs與引導程序。

回答

0

在WiX託管引導程序應用程序中,您可以在PlanPackageBegin事件中進行設置。

BootstrapperApplication.PlanPackageBegin += PlanPackageBeginExecute; 

private void PlanPackageBeginExecute(object sender, PlanPackageBeginEventArgs e) 
{ 
    if(e.PackageId == "your package ID") 
    { 
     e.State = RequestState.None; 
    } 
} 

將PackageState設置爲NONE會跳過安裝包。

+0

我需要在代碼中做到這一點?我可以在.wsx文件中設置包中的任何標籤以使其正常工作嗎? 任何C#代碼的使用都不是很好(從我的ScrumMaster的角度來看),但是如果你說我不知道​​其他解決方案,我會這樣做。 謝謝你從現在開始:) –

+0

我不知道是否可以在.wxs文件中完成。 –

+0

好的 我需要在哪裏插入這段代碼?需要在.dll上編譯? WiX有一個標籤(像html一樣php)來運行wxs文件中的代碼? –