我的任务是从使用Firebird 1.5的应用程序编写WIX安装程序。如果尚未安装firebird,则WIX安装过程必须启动firebird安装程序。使用自定义操作我将启动firebird安装程序但最终出现错误" 1607无法安装installshield脚本运行时"。我搜索过此错误但未能找到解决方案。 这是我的自定义操作的片段。
<InstallExecuteSequence>
<Custom Action='LaunchFirebirdsetup' Before='InstallFinalize'>NOT Installed</Custom>
</InstallExecuteSequence>
<CustomAction Id='LaunchFirebirdsetup' FileKey='Firebird15Setup' ExeCommand='' Return="ignore" Execute="commit" Impersonate="no" />
答案 0 :(得分:1)
可能是因为您无法在MSI安装中运行MSI安装,我认为即使使用Commit自定义操作也是如此。您的IS脚本安装是MSI安装,因此可能是问题所在。从安装中启动安装始终是一个问题。在安装之前,您应该使用Burn启动Firebird安装。这就是Burn捆绑包的用途 - prerequsites和相关的安装以及您的MSI设置。您可以使用它来安装独立的ISScript MSI,这是另一种可能性。
另一个问题是某些安装只是在没有模拟安装时不起作用,这意味着使用系统帐户。没有迹象表明您尝试以静默方式执行此操作,这意味着它正在使用系统帐户运行,并且可能尝试向交互式用户显示UI,这将失败。这是使用Burn安装它的另一个原因 - 它将作为交互式用户运行。
答案 1 :(得分:0)
您可以使用合并模块,而不是运行安装程序。例如MWA Software的Firebird 1.5 Merge Modules。模块,installation instruction和source for the merge modules可免费使用。
答案 2 :(得分:0)
看起来像bootstrapping(burn)是解决方案。 我花了一段时间才得到它,但在运行之后,我猜是有意义的。