2012-06-16 60 views
1

我遇到WIX問題。在安裝MSI期間,我想驗證是否安裝了.NET Framework 4.0,如果沒有安裝,那麼我必須從dotnet msi安裝。WIX - 安裝後從工作目錄運行VB腳本。

因爲我不能從另一個MSI調用MSI,所以我編寫了一個執行.NET框架驗證和安裝的VB腳本。

現在的問題是,我想從安裝的目錄安裝後運行該VB腳本。我嘗試了所有可能的方式,但無法獲得它。

這是一段WIX代碼。

<CustomAction Id="StartAppOnExit" FileKey="DotNetFrameworkCheck.vbs" 
    Execute="deferred" Return="asyncWait" /> 

    <InstallExecuteSequence> 
     <Custom Action="StartAppOnExit" After="InstallFinalize"></Custom> 
    </InstallExecuteSequence> 

其中的FileKey

<File Id="DotNetFrameworkCheck.vbs" Source="Build_\message.vbs" /> 

我想知道在代碼中錯誤的事情?

+1

當心VBScript自定義操作:http://blogs.msdn.com/b/robmen/archive/2004/05/20/136530.aspx –

回答

2

推薦的安裝.NET或其他必備軟件的方法是從bootstrapper exe中獲取。該引導程序將首先調用.NET安裝程序,然後調用您自己的MSI。

Wix 3.6包含了生成這樣一個引導程序的功能。請參閱How To: Install the .NET Framework Using Burn

+0

哦!我知道,而且我也做了,但在這裏,要求是運行已安裝的腳本。該腳本還會執行一些其他先決條件檢查... – PawanS

0

此外,所有自定義操作必須在InstallInitializeInstallFinalize之間執行。您需要更改您的InstallExecuteSequence