Я следую Microsoft Создание пользовательского метода проверки подлинности для AD FS в Windows Server руководстве по созданию настраиваемого поставщика проверки подлинности для ADFS, и я на этапе развертывания, в котором говорится:
Поставщики адаптеров должны предоставить установщик, который выполняет необходимые действия по установке, включая установку в GA C, и установщик должен поддерживать регистрацию в AD FS.
Я был удалось установить адаптер на GA C с помощью WiX и вручную зарегистрировать его в ADFS с помощью PowerShell, но я получаю сообщение об ошибке от установщика Windows, когда WiX пытается автоматически зарегистрировать провайдера в ADFS через CustomAction
: Error 1721. There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor.
Полные журналы показаны ниже:
MSI (s) (E4:78) [10:02:27:412]: Executing op: ActionStart(Name=RegisterAdfsProvider,,)
MSI (s) (E4:78) [10:02:27:413]: Executing op: CustomActionSchedule(Action=RegisterAdfsProvider,ActionType=3106,Source=C:\,Target=Register-AdfsAuthenticationProvider -TypeName "MyAuthenticationAdapter.MyAdapter, MyAuthenticationAdapter, version=1.0.0.0, culture=neutral, publicKeyToken=D006C127CE4A16A7, processorArchitecture=MSIL" -Name MyAuthenticationProvider,)
MSI (s) (E4:78) [10:02:27:416]: Note: 1: 1721 2: RegisterAdfsProvider 3: C:\ 4: Register-AdfsAuthenticationProvider -TypeName "MyAuthenticationAdapter.MyAdapter, MyAuthenticationAdapter, version=1.0.0.0, culture=neutral, publicKeyToken=D006C127CE4A16A7, processorArchitecture=MSIL" -Name MyAuthenticationProvider
MSI (s) (E4:78) [10:02:27:416]: Note: 1: 2205 2: 3: Error
MSI (s) (E4:78) [10:02:27:416]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1721
MSI (c) (0C:B0) [10:02:27:429]: Font created. Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg
Error 1721. There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor. Action: RegisterAdfsProvider, location: C:\, command: Register-AdfsAuthenticationProvider -TypeName "MyAuthenticationAdapter.MyAdapter, MyAuthenticationAdapter, version=1.0.0.0, culture=neutral, publicKeyToken=D006C127CE4A16A7, processorArchitecture=MSIL" -Name MyAuthenticationProvider
MSI (s) (E4:78) [10:02:28:198]: Note: 1: 2205 2: 3: Error
MSI (s) (E4:78) [10:02:28:198]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1709
MSI (s) (E4:78) [10:02:28:198]: Product: MyAuthenticationAdapter -- Error 1721. There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor. Action: RegisterAdfsProvider, location: C:\, command: Register-AdfsAuthenticationProvider -TypeName "MyAuthenticationAdapter.MyAdapter, MyAuthenticationAdapter, version=1.0.0.0, culture=neutral, publicKeyToken=D006C127CE4A16A7, processorArchitecture=MSIL" -Name MyAuthenticationProvider
Action ended 10:02:28: InstallFinalize. Return value 3.
Если я скопирую команду из журналов и вручную запустю ее в PowerShell, она будет успешно завершена. Мой код в файле .wxs
выглядит следующим образом:
<SetProperty Id="ADFS_PROVIDER_TYPE_NAME"
Value="MyAuthenticationAdapter.MyAdapter, !(bind.assemblyFullName.MyAuthenticationAdapter)"
Before="RegisterAdfsProvider"
Sequence="execute"/>
<CustomAction Id="RegisterAdfsProvider"
Directory="TARGETDIR"
ExeCommand="Register-AdfsAuthenticationProvider -TypeName "[ADFS_PROVIDER_TYPE_NAME]" -Name MyAuthenticationProvider"
Execute="deferred"
Impersonate="no"/>
<InstallExecuteSequence>
<Custom Action="RegisterAdfsProvider" Before="InstallFinalize">NOT Installed AND NOT REMOVE~="ALL"</Custom>
</InstallExecuteSequence>
Что не так с моим файлом WiX, который вызывает эту ошибку во время установки?