【发布时间】:2023-03-28 16:49:01
【问题描述】:
我正在使用 InstallShield 2015 编写基本 MSI 类型的安装程序。我有一个服务器安装、一个工作站安装和一个第三方 (Microsoft) 安装程序,用于支持通过 COM 互操作 (Microsoft.InteropformsRedist.msi) 访问 .NET 表单。工作站需要安装 Microsoft.InteropformsRedist.msi。服务器需要安装工作站。这些配对单独工作,但是当服务器尝试安装工作站时,工作站又想安装 InteropformsRedist,似乎没有安装 InteropformsRedist。我在 MSI 日志中看到了它的提及,但没有明确表明它实际上没有安装。我刚刚在安装后遇到错误,通过手动运行 InteropformRedist.msi 解决了这些错误。
日志中第一次提到 InteropformsRedist 看起来像:
InstallShield 12:11:11: Extracting temp files for chained package Pkg1 to 'C:\Users\bmarty\AppData\Local\Temp\{88EF0570-B960-4DD7-BF2F-F942CE0C9EEE}'
MSI (s) (70!C0) [12:11:24:671]: PROPERTY CHANGE: Adding IS_CHAINER_POST_COMMANDLINE property. Its value is '/l"C:\Users\bmarty\AppData\Local\Temp\MSI7fa2d.LOG" /qb /iC:\Users\bmarty\AppData\Local\Temp\{88EF0570-B960-4DD7-BF2F-F942CE0C9EEE}\Microsoft.InteropformsRedist.msi'.
MSI (s) (70!C0) [12:11:24:671]: PROPERTY CHANGE: Adding ISChainPackageCommit property. Its value is 'C:\Users\bmarty\AppData\Local\Temp\{88EF0570-B960-4DD7-BF2F-F942CE0C9EEE}'.
MSI (s) (70!C0) [12:11:24:671]: PROPERTY CHANGE: Adding ISChainPackageRollback property. Its value is 'C:\Users\bmarty\AppData\Local\Temp\{88EF0570-B960-4DD7-BF2F-F942CE0C9EEE}'.
InstallShield 12:11:11: Extracting file 'C:\Users\bmarty\AppData\Local\Temp\{88EF0570-B960-4DD7-BF2F-F942CE0C9EEE}\Microsoft.InteropformsRedist.msi' for chained package Pkg1
MSI (s) (70:EC) [12:11:24:672]: Doing action: InstallInitialize
Action ended 12:11:24: ISChainPackagePrepare. Return value 1.
MSI (s) (70:EC) [12:11:24:673]: Machine policy value 'AlwaysInstallElevated' is 0
MSI (s) (70:EC) [12:11:24:673]: User policy value 'AlwaysInstallElevated' is 0
MSI (s) (70:EC) [12:11:24:673]: BeginTransaction: Locking Server
MSI (s) (70:EC) [12:11:24:674]: Server not locked: locking for product {11FD6005-8100-4B5C-85E6-C26BAD6C8696}
Action start 12:11:24: InstallInitialize.
MSI (s) (70:EC) [12:11:26:245]: Doing action: ISChainPackageRollback
Action ended 12:11:26: InstallInitialize. Return value 1.
MSI (s) (70:EC) [12:11:26:246]: Note: 1: 2205 2: 3: MsiPatchCertificate
MSI (s) (70:EC) [12:11:26:246]: LUA patching is disabled: missing MsiPatchCertificate table
Action start 12:11:26: ISChainPackageRollback.
MSI (s) (70:EC) [12:11:26:249]: Doing action: ISChainPackageCommit
Action ended 12:11:26: ISChainPackageRollback. Return value 1.
Action start 12:11:26: ISChainPackageCommit.
MSI (s) (70:EC) [12:11:26:250]: Doing action: AllocateRegistrySpace
Action ended 12:11:26: ISChainPackageCommit. Return value 1.
Action start 12:11:26: AllocateRegistrySpace.
MSI (s) (70:EC) [12:11:26:251]: Doing action: ProcessComponents
Action ended 12:11:26: AllocateRegistrySpace. Return value 1.
Action start 12:11:26: ProcessComponents.
MSI (s) (70:EC) [12:11:26:253]: Doing action: UnpublishComponents
Action ended 12:11:26: ProcessComponents. Return value 1.
那里是否有任何迹象表明它为什么没有实际安装?有什么技巧可以让这项工作发挥作用吗?
【问题讨论】:
-
链接的 msi 应该有自己的日志(假设您已打开 msi 日志记录),您可能会在那里找到原因。
标签: windows-installer installshield