我有一个自定义动作项目,其中包含由我的公司创建的安装程序使用的各种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