【发布时间】:2015-01-28 17:00:00
【问题描述】:
我正在使用 InstallShield 的 AdminStudio 2014(嵌入在 Visual Studio 2013 中)并且有一个基本的 MSI 项目。我最近将 WiX 添加到我的 CA 项目中。
安装的想法是将供应商的驱动程序与我们的附加文件一起打包。对于最终用户来说,它应该看起来像是一次安装。我最初的尝试是将供应商安装文件放在我的 installdir 中的子目录中,并在其安装上运行自定义操作以及许多所需的命令行参数(包括 SILENT)。但是,我遇到的问题是它有时会返回退出代码 1310(需要重新启动),这导致我对退出代码的检查失败。
让我先说一下,我仍在尝试完全理解一些“脚本内执行”和序列。
我的第二次尝试是在 c# 中编写一个函数来执行并捕获退出代码,然后使用返回的退出代码设置一个属性,或者自己设置 ISSCHEDULEREBOOT。但是,由于我将安装放置到我的安装目录,所以我在 InstallFiles 之后延迟运行它,而且似乎我不允许从延迟的 CA 设置属性,但是(这是我的理解)我不能立即执行,因为在执行脚本 (?) 之前文件尚未放置。第 22 条。
接下来我想到了在我的运行之前安装 prereq,但这不会让我在卸载期间卸载它 (?)。
我查看了链式 MSI(反对似乎有很多建议),但我从供应商那里获得了一个类似 CD 的大型媒体(多个目录和文件),其中包含 setup.exe 而不是 InstallShield 似乎提供的 MSI正在寻找。
我有许多 CA 和其他部分都可以正常工作。我确信我一直遇到的这些障碍是由于我对架构和流程缺乏了解。在过去 6 个月左右的时间里,我一直在处理一组安装,但我知道有很多关于机制的知识。
提前感谢您的帮助。
【问题讨论】:
标签: windows-installer installshield custom-action