msi 抱怨无法运行 DLL 错误 1723(1157)

发布于 2024-12-28 02:30:57 字数 1703 浏览 0 评论 0原文

我正在创建一个示例 msi。我正在使用 C++ 自定义操作。我可以在 Windows 7 32 位上安装 msi。但我无法在 Windows Server 2008 64 位上安装它。

以下是代码:

 <Binary Id="BinaryId.dll"
       SourceFile="Test.dll" />

<CustomAction Id="TestFunc" BinaryKey="BinaryId" DllEntry="TestFunc"
              Execute="immediate" Return="check"  />

<InstallExecuteSequence>
  <Custom Action="TestFunc" Before="InstallInitialize" Overridable="yes">1</Custom>
</InstallExecuteSequence>

我从 msi 日志中收到以下错误:

 调用远程自定义操作。 DLL:C:\ Windows \ Installer \ MSI84EB.tmp,入口点:MSI(s)(8C:30)[01:28:17:180]:执行操作:TestFunc
MSI (s) (8C:30) [01:28:17:180]: 注意: 1: 2205 2: 3: ActionText 
动作开始 1:28:17:TestFunc。
MSI (s) (8C:A0) [01:28:17:184]:调用远程自定义操作。 DLL:C:\ Windows \ Installer \ MSI8E90.tmp,入口点:TestFunc
CustomAction TestFunc 返回实际错误代码 1157(请注意,如果翻译发生在沙箱内,这可能不是 100% 准确)
MSI(s)(8C:30)[01:28:17:218]:注意:1:1723 2:TestFunc3:TestFunc4:C:\ Windows \ Installer \ MSI8E90.tmp 
MSI (s) (8C:30) [01:28:17:218]: 注意: 1: 2205 2: 3: 错误 
MSI(s)(8C:30)[01:28:17:218]:注意:1:2228 2:3:错误4:从“错误”中选择“消息”,其中“错误”= 1723 
MSI (c) (1C:74) [01:28:17:224]:字体已创建。字符集:Req=0,Ret=0,字体:Req=MS Shell Dlg,Ret=MS Shell Dlg


错误 1723。此 Windows Installer 程序包有问题。无法运行完成此安装所需的 DLL。请联系您的支持人员或软件包供应商。操作 TestFunc,条目:TestFunc,库:C:\Windows\Installer\MSI8E90.tmp 
MSI(s)(8C:30)[01:28:18:451]:注意:1:2205 2:3:错误 
MSI (s) (8C:30) [01:28:18:451]:注意:1:2228 2:3:错误 4:从“错误”中选择“消息”,其中“错误”= 1709 
MSI (s) (8C:30) [01:28:18:451]:产品:TestCa - 错误 1723。此 Windows Installer 程序包存在问题。无法运行完成此安装所需的 DLL。请联系您的支持人员或软件包供应商。操作 TestFunc,条目:TestFunc,库:C:\Windows\Installer\MSI8E90.tmp 

非常感谢您提出的宝贵建议和帮助,这将有助于解决此问题。 :)

I am creating a sample msi. I am using a C++ custom action. I am able to install the msi on Windows 7 32bit. But I am unable to install it on Windows Server 2008 64bit.

The following is the code:

 <Binary Id="BinaryId.dll"
       SourceFile="Test.dll" />

<CustomAction Id="TestFunc" BinaryKey="BinaryId" DllEntry="TestFunc"
              Execute="immediate" Return="check"  />

<InstallExecuteSequence>
  <Custom Action="TestFunc" Before="InstallInitialize" Overridable="yes">1</Custom>
</InstallExecuteSequence>

I am getting the following error from the msi logs:

 Invoking remote custom action. DLL: C:\Windows\Installer\MSI84EB.tmp, Entrypoint: MSI (s) (8C:30) [01:28:17:180]: Doing action: TestFunc
MSI (s) (8C:30) [01:28:17:180]: Note: 1: 2205 2:  3: ActionText 
Action start 1:28:17: TestFunc.
MSI (s) (8C:A0) [01:28:17:184]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI8E90.tmp, Entrypoint: TestFunc
CustomAction TestFunc returned actual error code 1157 (note this may not be 100% accurate if translation happened inside sandbox)
MSI (s) (8C:30) [01:28:17:218]: Note: 1: 1723 2: TestFunc3: TestFunc4: C:\Windows\Installer\MSI8E90.tmp 
MSI (s) (8C:30) [01:28:17:218]: Note: 1: 2205 2:  3: Error 
MSI (s) (8C:30) [01:28:17:218]: Note: 1: 2228 2:  3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1723 
MSI (c) (1C:74) [01:28:17:224]: Font created.  Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg


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 TestFunc, entry: TestFunc, library: C:\Windows\Installer\MSI8E90.tmp 
MSI (s) (8C:30) [01:28:18:451]: Note: 1: 2205 2:  3: Error 
MSI (s) (8C:30) [01:28:18:451]: Note: 1: 2228 2:  3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1709 
MSI (s) (8C:30) [01:28:18:451]: Product: TestCa -- 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 TestFunc, entry: TestFunc, library: C:\Windows\Installer\MSI8E90.tmp 

Thanks a lot for your valuable suggestions and help that would lead to resolve this issue. :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

绝對不後悔。 2025-01-04 02:30:57

看看您正在使用什么自定义操作方法 TestFunc。 1157错误意味着:

运行此应用程序所需的库文件之一不能是
找到了。

因此,您可能使用的某些库在 Windows Server 2008 64 位上不可用,但在 Windows 7 32 位上可用。

Have a look at what you are using the custom action method TestFunc. 1157 error means that:

One of the library files needed to run this application cannot be
found.

So you might be using some library that is not available on Windows Server 2008 64bit but it is available on Windows 7 32bit.

流云如水 2025-01-04 02:30:57

在托管 .Net 代码中编写自定义操作并不容易,并且需要手动操作项目文件。如果您可以轻松地用 VB Script、JavaScript 或 C++ 编写相同的代码,我建议您采用该路径。

这是我使用的教程:在没有投票的情况下为用托管代码编写的 WIX 创建自定义操作

Writing custom actions in managed .Net code is not easy and involves manually manipulating the project files. If you can easily write the same code in VB Script, JavaScript or C++, I'd recommend taking that path instead.

Here's the tutorial I used: Creating Custom Action for WIX Written in Managed Code without Votive.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文