我有一个Installshield Basic MSI项目。该项目使用Installshield的引导程序来安装几个安装先决条件。所有内容都捆绑在一个exe(Setup.exe)中压缩。我有一个先决条件,需要知道要执行的文件的完整路径。是否有可用于查找此路径的属性?
或另一种解决方案。我们正在使用Installshield 2008,目前升级的可能性不大。我需要安装依赖于Windows Installer 4.5的SQL Server 2008。 Installshield 2008不支持WinInstaller 4.5,因此我为WinXp和Vista创建了它的先决条件。我让WinXP正常工作。
但是Windows Vista,Windows Installer 4.5的可再发行组件是.msu文件,需要通过wsua.exe执行。我创建了一个小应用程序,只接受命令行参数并使用params启动wusa.exe以安装Windows Installer可再发行组件。但是,wusa.exe需要可再发行的完整路径。有没有办法找到setup.exe提取文件的路径?
或者有没有办法将Windows Installer 4.5的支持添加到Installshield 2008,对此表示怀疑,但这是最简单的
答案 0 :(得分:2)
对于IS2008的替代方法,您应该可以在helper exe中执行此操作。假设您正在使用C ++,您可以调用GetModuleFileName()来查找正在运行的exe的位置(其他语言应该在某处公开类似的功能)。由于所有必备文件的文件都已解压缩到同一文件夹,因此您可以使用它来计算.msu文件的完整路径。
升级将为您提供直接支持(以及包括prerequisites for Windows Installer 4.5)作为IS2009及更高版本的先决条件shell执行其目标,本机支持.msu文件。 IS2009及更高版本还支持先决条件命令行属性,您可以使用它来查找必备文件;请参阅InstallShield 2009 Release Notes并搜索ISPREREQDIR。