提取的 installshield setup.exe 文件的位置

发布于 2024-08-23 20:44:34 字数 614 浏览 7 评论 0原文

我有一个 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 执行。我创建了一个小应用程序,它只接受命令行参数并使用参数启动 wusa.exe 以安装 Windows Installer 可再发行组件。但是 wusa.exe 需要可再发行组件的完整路径。有没有办法找到 setup.exe 提取文件的路径?

或者有没有办法向Installshield 2008添加对Windows Installer 4.5的支持,对此表示怀疑,但这将是最简单的

I have a Installshield Basic MSI project. This project uses Installshield's bootstrapper to install several setup prerequisites. Everything is bundled and compressed inside a single exe (Setup.exe). I have one prerequisite that needs to know the the full path of the file to execute. Is there a property available to find this path?

Or another solution. We are using Installshield 2008 with not much chance of upgrading at the moment. I am needing to install SQL Server 2008 which is dependent upon Windows Installer 4.5. Installshield 2008 doesn't have support for WinInstaller 4.5 so I created prerequisites for it for WinXp and Vista. I have WinXP working correctly.

However Windows Vista, the redistributable for Windows Installer 4.5 is a .msu file and needs to be executed through wsua.exe. I created a small app that just accepts the commandline params and kicks off wusa.exe with params to install the Windows Installer redistributable. However wusa.exe needs the full path to the redistributable. Is there a way to find the path to where setup.exe extracted the files?

Or is there a way to add support for Windows Installer 4.5 to Installshield 2008, doubt it, but it would be easiest

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

回忆那么伤 2024-08-30 20:44:34

对于 IS2008 的替代方法,您应该能够在帮助程序 exe 中执行此操作。假设您使用的是 C++,您可以调用 GetModuleFileName() 来查找正在运行的 exe 的位置(其他语言应该在某处公开类似的功能)。由于所有先决条件的文件都将被提取到同一文件夹中,因此您也可以使用它来找出 .msu 文件的完整路径。

升级将为您提供直接支持(以及包含Windows Installer 4.5 的先决条件) 作为 IS2009 及更高版本的先决条件 shell 执行其目标,原生支持 .msu 文件。 IS2009 及更高版本还支持先决条件命令行属性,您可以使用该属性来查找先决条件文件;请参阅 InstallShield 2009 发行说明 并搜索 ISPREREQDIR。

For your alternate approach with IS2008, you should be able to do this in your helper exe. Assuming you're using C++, you can call GetModuleFileName() to find the location of your running exe (other languages should expose similar functionality somewhere). Since all the prerequisite's files will have been extracted to the same folder, you can use this to figure out the full path for the .msu file as well.

Upgrading will get you direct support (as well as included prerequisites for Windows Installer 4.5) as IS2009 and later prerequisites shell execute their target, supporting .msu files natively. IS2009 and later also have support for a prerequisite command-line property which you could use to locate your prerequisite files; see the InstallShield 2009 Release Notes and search for ISPREREQDIR.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文