У меня есть проект Custom Action, в котором установщики, созданные моей компанией, используют различные CA, некоторые из них используются для управления IIs7 через Microsoft.Web.Administration API.
Я добавил новое пользовательское действие под названием SetApplicationAutoStart, класс, содержащий CA, связанные с II. Это настраиваемое действие используется для установки атрибута autoStart, который заставляет II предварительно загружать и запускать службы WCF, чтобы сократить начальное время отклика.
После добавления этого действия существующий CA с именем SetAppPoolLoadUserProfileTrue перестал работать. Этот ЦС устанавливает для этого параметра на сайте значение true, даже если сайт по умолчанию на компьютере был изменен таким образом, что этот параметр имеет значение false, поэтому нам действительно нужно, чтобы он работал.
Файлы журнала содержат следующие строки в случае сбоя действия.
MSI (s) (A0:18) [15:02:43:639]: Executing op: ActionStart(Name=SetAppPoolLoadUserProfileTrue,,)
Action 15:02:43: SetAppPoolLoadUserProfileTrue.
MSI (s) (A0:18) [15:02:43:641]: Executing op: CustomActionSchedule(Action=SetAppPoolLoadUserProfileTrue,ActionType=3073,Source=BinaryData,Target=SetAppPoolLoadUserProfileTrue,CustomActionData=AppPoolName=xxxxx)
MSI (s) (A0:18) [15:02:43:670]: Creating MSIHANDLE (377) of type 790536 for thread 50712
MSI (s) (A0:C8) [15:02:43:670]: Invoking remote custom action. DLL: C:\Windows\Installer\MSIBD82.tmp, Entrypoint: SetAppPoolLoadUserProfileTrue
CustomAction SetAppPoolLoadUserProfileTrue returned actual error code 1154 (note this may not be 100% accurate if translation happened inside sandbox)
MSI (s) (A0:C8) [15:02:43:673]: Closing MSIHANDLE (377) of type 790536 for thread 50712
MSI (s) (A0:18) [15:02:43:674]: Note: 1: 1723 2: SetAppPoolLoadUserProfileTrue 3: SetAppPoolLoadUserProfileTrue 4: C:\Windows\Installer\MSIBD82.tmp
Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action SetAppPoolLoadUserProfileTrue, entry: SetAppPoolLoadUserProfileTrue, library: C:\Windows\Installer\MSIBD82.tmp
MSI (s) (A0:18) [15:20:25:139]: Product: xxxxxxx -- Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action SetAppPoolLoadUserProfileTrue, entry: SetAppPoolLoadUserProfileTrue, library: C:\Windows\Installer\MSIBD82.tmp
Action ended 15:20:25: InstallFinalize. Return value 3.
Это похоже на проблему извлечения PE dotnet из PE для этого действия. Все остальные ЦС в бинарнике работают нормально, включая новый.