2014-06-06 97 views
1

我已經創建了一個從IIS服務器獲取網站的自定義操作。當我在本地機器上運行它時,它工作的很完美。但是當我在另一臺機器上運行它時,它不工作。Wix自定義操作不在另一臺機器上工作

定位器自定義操作 < 「二進制編號=」 IisManager 「的SourceFile = 」$(var.SourceDir)\ BIN \ CustomActions.CA.dll「/> (」 用於foarmat此)

<UI Id="MyWixUI_Mondo"> 
    <UIRef Id="WixUI_Mondo"/> 
    <UIRef Id="WixUI_ErrorProgressText" /> 

    <DialogRef Id="IisSettings" />  

    <Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="IisSettings" Order="3">LicenseAccepted = "1"</Publish> 
    <Publish Dialog="SetupTypeDlg" Control="Back" Event="NewDialog" Value="IisSettings">1</Publish> 


    <InstallUISequence> 
    <Custom Action="GetIISWebSites" After="CostFinalize" Overridable="yes">NOT Installed</Custom> 
    <Custom Action="GetIISAppPools" After="CostFinalize" Overridable="yes">NOT Installed</Custom> 
    </InstallUISequence> 

</UI> 

我做錯了什麼?只能在我的機器上工作...

+1

你的意思是不工作?你有什麼錯誤嗎?如果不是,你可以粘貼日誌? – Isaiah4110

+0

首先想到的是,您可能沒有其他機器上的管理員權限。 –

+0

這是我從日誌file.MSI(c)(E0!30)中得到的錯誤自定義操作異常System.Runtime.InteropServices.COMException(0x80040154):檢索具有CLSID的組件的COM類工廠{2B72133B-3F5B-4602- 8952-803546CE3344}由於以下錯誤而失敗:80040154類未註冊(HRESULT異常:0x80040154(REGDB_E_CLASSNOTREG))。 (System.Runtime.Remoting.ActivationServices.CreateInstance(RuntimeType serverType))上的System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject(RuntimeType objectType) – LaknathR

回答

0

使用管理權限運行安裝程序文件可解決問題。

CMD - >>以管理員身份運行 - >轉到設置文件並運行它。

1

您的自定義操作崩潰,因爲它引用的是未在其他計算機上註冊的COM類。顯然,CLSID屬於Microsoft.ApplicationHost.WritableAdminManager和ServerManager託管API,因此如果它們不在目標機器上,那麼代碼將會失敗。我可以通過網絡搜索-CLSID {2B72133B-3F5B-4602-8952-803546CE3344-可以獲得更多信息,但這不是WiX或Windows Installer問題。

相關問題