我创建了一个简单的WinForms应用程序和一个自定义安装程序。所有这些似乎都很简单,但是在事件日志中我收到了以下弹出窗口和错误详细信息。
如果事件源自另一台计算机,则必须使用事件保存显示信息。
事件包括以下信息:
产品:Custom Action Tester -- Error 1001. Error 1001. 在初始化安装时发生异常: System.IO.FileNotFoundException:无法加载文件或程序集“file:///C:\Windows\system32\Action”或其某个依赖项。系统找不到指定的文件。(NULL) (NULL) (NULL) (NULL)(NULL)
消息资源存在,但在字符串/消息表中找不到该消息。
我已检查了C:\Windows\system32,没有名为Action的文件或文件夹,但有3个文件:ActionCenter.dll,ActionCenterCPL.dll和ActionQueue.dll.
有什么解决此错误的想法吗?
编辑:
如果事件源自另一台计算机,则必须使用事件保存显示信息。
事件包括以下信息:
产品:Custom Action Tester -- Error 1001. Error 1001. 在初始化安装时发生异常: System.IO.FileNotFoundException:无法加载文件或程序集“file:///C:\Windows\system32\Action”或其某个依赖项。系统找不到指定的文件。(NULL) (NULL) (NULL) (NULL)(NULL)
消息资源存在,但在字符串/消息表中找不到该消息。
我已检查了C:\Windows\system32,没有名为Action的文件或文件夹,但有3个文件:ActionCenter.dll,ActionCenterCPL.dll和ActionQueue.dll.
有什么解决此错误的想法吗?
编辑:
在cosmin-pirvu的建议下,我使用日志运行了安装程序。出现错误的区域如下所示,但我仍然不知道如何解决这个问题。
MSI (s) (40:7C) [09:34:26:523]: Executing op: CustomActionSchedule(Action=_FBC0CC84_D5B4_41F9_A3EC_98A13BC7E73E.install,ActionType=3073,Source=BinaryData,Target=ManagedInstall,CustomActionData=/installtype=notransaction /action=install /LogFile= /targetdir="C:\Test\Custom Action Tester\" /Param1="C:\Test\TestFile.txt" /Param2="C:\Test\" "C:\Test\Custom Action Tester\ConfigSetup.dll" "C:\Users\wildb\AppData\Local\Temp\CFG66BE.tmp")
MSI (s) (40:94) [09:34:26:525]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI85A8.tmp, Entrypoint: ManagedInstall
MSI (s) (40:F0) [09:34:26:525]: Generating random cookie.
MSI (s) (40:F0) [09:34:26:557]: Created Custom Action Server with PID 6492 (0x195C).
MSI (s) (40:D4) [09:34:26:586]: Running as a service.
MSI (s) (40:D4) [09:34:26:587]: Hello, I'm your 32bit Elevated custom action server.
DEBUG: Error 2835: The control ErrorIcon was not found on dialog ErrorDialog
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2835. The arguments are: ErrorIcon, ErrorDialog,
Error 1001. Error 1001. Exception occurred while initializing the installation:
System.IO.FileNotFoundException: Could not load file or assembly 'file:///C:\Windows\system32\Action' or one of its dependencies. The system cannot find the file specified..
MSI (s) (40!4C) [09:34:29:580]:
MSI (s) (40:94) [09:34:29:584]: Leaked MSIHANDLE (14) of type 790531 for thread 7244
MSI (s) (40:94) [09:34:29:584]: Note: 1: 2769 2: _FBC0CC84_D5B4_41F9_A3EC_98A13BC7E73E.install 3: 1
DEBUG: Error 2769: Custom Action _FBC0CC84_D5B4_41F9_A3EC_98A13BC7E73E.install did not close 1 MSIHANDLEs.
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2769. The arguments are: _FBC0CC84_D5B4_41F9_A3EC_98A13BC7E73E.install, 1,
CustomAction _FBC0CC84_D5B4_41F9_A3EC_98A13BC7E73E.install returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 09:34:29: InstallExecute. Return value 3.
本应该是为了让我们的用户更轻松地简化生活的快速胜利,他们不想编辑配置文件...但现在变成了一场噩梦。 :o(
第二次编辑:
经过很多尝试,只有在自定义操作中指定参数时才会出现错误,如图所示。问题是,在先前的安装屏幕中输入的值无法被读取,因此自定义安装程序毫无用处。