我已经创建了一个自定义操作,用于从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>
我做错了什么?只在我的机器上工作......
答案 0 :(得分:1)
您的自定义操作正在崩溃,因为它引用的是未在其他计算机上注册的COM类。显然,CLSID属于Microsoft.ApplicationHost.WritableAdminManager和ServerManager托管API,因此如果它们不在目标计算机上,则代码将失败。网络搜索-CLSID {2B72133B-3F5B-4602-8952-803546CE3344-可能会为您提供更多信息,但据我所知,这不是WiX或Windows Installer问题。
答案 1 :(得分:0)
运行具有管理权限的安装文件解决了该问题。
CMD - &gt;&gt;以管理员身份运行 - &gt;转到设置文件并运行它。