Wix自定义操作不在另一台机器上工作

时间:2014-06-06 13:50:53

标签: wix windows-installer wix3.8

我已经创建了一个自定义操作,用于从IIS服务器获取站点。当我在本地计算机上运行它时,它运行正常。但是当我在另一台计算机上运行它时,它无法正常工作。

自定义操作的定位器 <“Binary Id =”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>
我做错了什么?只在我的机器上工作......

2 个答案:

答案 0 :(得分:1)

您的自定义操作正在崩溃,因为它引用的是未在其他计算机上注册的COM类。显然,CLSID属于Microsoft.ApplicationHost.WritableAdminManager和ServerManager托管API,因此如果它们不在目标计算机上,则代码将失败。网络搜索-CLSID {2B72133B-3F5B-4602-8952-803546CE3344-可能会为您提供更多信息,但据我所知,这不是WiX或Windows Installer问题。

答案 1 :(得分:0)

运行具有管理权限的安装文件解决了该问题。

CMD - &gt;&gt;以管理员身份运行 - &gt;转到设置文件并运行它。