Пользовательское действие Wix не работает на другом компьютере

Я создал настраиваемое действие для получения сайтов с сервера IIS. когда я запускаю его на своем локальном компьютере, он работает отлично. но когда я запускаю его на другом компьютере, он не работает.

локатор для настраиваемого действия ‹" Binary Id = "IisManager" SourceFile = "$ (var.SourceDir) \ bin \ CustomActions.CA.dll" /> ("используется для этого)

<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>

я сделал что-то не так? работает только в моей машине ...


person LaknathR    schedule 06.06.2014    source источник
comment
Что вы имеете в виду, говоря, что не работает? У вас есть ошибки? Если нет, можете ли вы приклеить логи?   -  person Isaiah4110    schedule 06.06.2014
comment
Первое, что приходит в голову, это то, что у вас может не быть прав администратора на другой машине.   -  person Stein Åsmul    schedule 06.06.2014
comment
это ошибка, полученная мной из файла журнала. MSI (c) (E0! 30) Исключение пользовательского действия System.Runtime.InteropServices.COMException (0x80040154): получение фабрики классов COM для компонента с CLSID {2B72133B-3F5B-4602-8952 -803546CE3344} не удалось из-за следующей ошибки: 80040154 Класс не зарегистрирован (исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). в System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject (RuntimeType objectType) в System.Runtime.Remoting.Activation.ActivationServices.CreateInstance (RuntimeType serverType)   -  person LaknathR    schedule 09.06.2014


Ответы (2)


Ваше настраиваемое действие дает сбой, потому что оно ссылается на класс COM, который не зарегистрирован на другом компьютере. По-видимому, этот CLSID принадлежит Microsoft.ApplicationHost.WritableAdminManager и управляемому API ServerManager, поэтому, если они отсутствуют на целевой машине, ваш код завершится ошибкой. Поиск в Интернете по запросу -CLSID {2B72133B-3F5B-4602-8952-803546CE3344- может дать вам дополнительную информацию, но, насколько я могу судить, это не проблема WiX или Windows Installer.

person PhilDW    schedule 09.06.2014

Запуск файла установки с правами администратора решил проблему.

CMD - >> Запуск от имени администратора -> Перейти к установочному файлу и запустить его.

person LaknathR    schedule 20.06.2014