【问题标题】:MSI Installer Error - MSIExec failed: 1603MSI 安装程序错误 - MSIExec 失败:1603
【发布时间】:2018-06-20 08:58:26
【问题描述】:

我正在尝试在服务器上安装 Windows 服务,当以管理员身份运行命令行并导航到我的 InstalUtil.cmd 文件并运行它时,我收到错误“msiexec failed: 1603”,但是 该服务确实已安装并按预期完美运行。修复错误消息的任何想法/建议?

【问题讨论】:

  • 我们需要更多信息。这是一个带有安装程序类的 Visual Studio 安装项目来安装服务吗?您的设置中有任何自定义操作吗? 1603 是一般故障,通常是自定义操作崩溃。因此,例如,如果您在安装程序类中自定义了 install 方法,那么在服务完成服务安装后代码可能会崩溃。
  • @PhilDW 刚刚解决了这个问题 :) 这与未正确设置自定义操作有关!
  • 如果您能告诉我们日志文件中的确切错误代码,那就太好了。您可以添加自己的答案。

标签: windows command-line windows-services windows-installer


【解决方案1】:

需要重新启动?:这可能是一个简单的“需要重新启动的问题”1603 可以表示批处理文件中的“需要重新启动”。

  • 您是否使用管理员权限运行了批处理文件?
  • 此 MSI 是否有任何自定义操作?如果是这样,它们在InstallExecuteSequence 中的什么位置?
  • There are other possibilities

您需要收集更多信息 - 这会导致检查日志:

标准调试

  • 事件日志event logs 说什么? (Windows + 点击 R。输入 eventvwr 并按 OK)。检查不同的日志。

  • MSI 日志文件:您是否创建了 MSI 日志文件?

  • 可能有有效的政策来自动创建一个。签入TMP folder,按日期排序并检查最近的文件是否有任何*.log files

  • 如果批处理文件硬编码了 MSI 日志文件的位置,也请检查它。

如果您找到 MSI 日志文件,请尝试搜索 "value 3"(不带引号)以查找任何失败的操作。


如何创建 MSI 日志文件:

【讨论】:

  • 感谢您的帮助 :) 我发现错误是由于我的自定义操作设置不正确而引起的。我现在已经解决了这个问题,服务安装没有问题。
  • 很好,请问您需要更改哪些内容?好奇心害死了许多 MSI 专家——鲜为人知的事实 :-)。如果您在 InstallFinalize 之后有一个即时模式自定义操作,则可能需要解决进一步的问题。
  • 当然 :) 所以我使用了另一个预先存在的项目并复制了自定义操作文件,但没有意识到 CA 被设置为类库而不是 C# 自定义操作项目。所以有两个选择是要么创建一个新的 CA 项目并复制代码,要么打开类库的 XML 并在 <PropertyGroup> 标记和 @987654338 之间添加这两行代码 <WixCATargetsPath Condition=" '$(WixCATargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.CA.targets</WixCATargetsPath> @ 在<Project> 标签之间。
  • 哦,托管代码。我不使用的功能。顺便提一下,托管代码存在许多不立即显现的挑战(运行时依赖、运行时的错误加载、GAC 问题等)。对于针对处于许多不可预测状态的不同计算机的大规模发行版尤其如此。 Chris Painter(MSI 导出)有效地使用托管代码,所以不要相信我的话,但这里是 my ad-hoc writeup of concerns with managed code custom actions。这是一个凌乱的“答案”,但可能值得一读。
  • 对于具有可预测的标准化目标计算机 (SOE) 的内部企业部署,一旦您知道如何避免最糟糕的熊陷阱,您可能可以成功使用托管代码。这是我的两分钱——不一定是该领域普遍存在的偏见。和here is my propaganda against custom actions overall(任何类型)。该领域普遍认为,自定义操作是部署失败的主要原因,应尽可能避免。对不起演讲:-)。祝你好运。
【解决方案2】:

在 windows 上安装时有时会出现 1603 错误,因为 Visual C++ RunTime Library 和 Microsoft .Net 问题。

尝试重新安装 Microsoft Visual Studio 可再发行包或卸载原来安装的版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-03
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多