0

在使用包含在 EXE 文件中的 MSP 文件更新我们的软件时出现错误。我有以下版本: 1.5.1810.00081.5.1810.0010

版本“0008”完全由打包到 EXE 文件(由 Advanced Installer 创建)中的 MSI 文件安装,补丁文件也是打包到 EXE 文件中的 MSP 文件。

在补丁安装过程中,我收到以下错误:

"This package can only be run from a bootstrapper."

这是 Advanced Installer 在 13.2 版或类似版本中实现的功能。如果您执行 MSI 文件,即使旁边有带有资源的 EXE 文件,此功能也会触发错误。这样您就必须执行 EXE 文件而不是 MSI 文件。但是我执行 EXE 文件,所以这是我的引导程序,我只有 EXE 文件中的资源

问题是,此错误未记录在日志文件中。日志文件中的错误有code 1603. 这与缺少权限或防病毒软件有关。然而,在停用我的防病毒软件并重新检查权限(完全访问权限)后,我仍然遇到同样的错误。

谁能帮我解决这个code 1603问题?

4

3 回答 3

0

我认为由于 1603 错误,这种实现方式很可能是使用自定义操作(而不是启动条件)。典型的实现是引导程序在 MSI 文件的命令行启动中设置一个属性。如果此属性的值错误,则自定义操作会导致安装失败。

当您说“这是我的引导程序”时,这是否意味着您创建了正在安装补丁的 exe?如果是这种情况,您有两种选择:

  1. 查看 Advanced Installer 是否会告诉您该检查是如何工作的,以便您可以在补丁安装命令行上将该属性设置为所需的值,或者...

  2. 设置详细日志记录并在某处重复原始产品安装。如果幸运的话,您会在日志中看到属性值,这将告诉您需要在补丁安装命令行上设置什么。如果很明显,它可能有一个明显与引导相关的名称。

于 2018-04-26T21:59:23.547 回答
0

问题是产品代码。由于产品代码不同,即使错误信息具有误导性,它也不起作用。

产品代码必须相同。

于 2018-04-30T08:59:24.033 回答
0

MSI-land 中的错误 1603 是最常见的错误,可能意味着任何事情。我会从您的升级中删除变量并尝试在没有引导程序 (exe) 的情况下运行补丁。一定要记录补丁/l*v <pathToLog>。希望该日志可以提供更多信息。

我不认为这是您的问题,但我会指出 Windows 安装只会识别您版本中的前 3 个八位字节。您可能应该更改版本控制方案以解决此问题。我找不到正确的 MS 链接,但我确实在 AdvancedInstallers 论坛上找到了这个。

于 2018-04-26T13:47:48.943 回答