我有一個自定義動作項目,其中包含由我的公司創建的安裝程序使用的各種CA,其中一些用於通過Microsoft操作IIs7 .Web.Administration API。將新的自定義動作添加到項目中可防止運行現有的自定義動作
我添加了一個名爲SetApplicationAutoStart的新自定義操作,該操作是包含IIs相關CA的類。此自定義操作用於設置強制II預加載並啓動WCF服務的autoStart屬性,以便初始響應時間更短。
添加此操作後,名爲SetAppPoolLoadUserProfileTrue的現有CA停止工作。即使計算機上的默認站點已更改,以便該設置爲false,此CA也會將該站點上的設置強制爲true,因此我們確實需要它的工作。
當操作失敗時,日誌文件包含以下行。
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。二進制中的所有其他CA都可以正常工作,包括新的CA。
請注意Visual Studio在構建我的解決方案(配置管理器)時未預先選擇要構建的CustomActions項目。這可能會導致意外的過時的自定義操作程序集。 – 2016-05-04 15:12:19