【发布时间】:2017-03-20 18:53:02
【问题描述】:
是否可以从自定义操作中获取启动 MSI 安装的可执行包(也称为引导程序)的路径?
获取 DLL 的父进程的常规方法不起作用,因为自定义操作 DLL 是由“msiexec.exe”加载的,而不是由 bootstrapper.exe 加载的。 “msiexec.exe”的父进程是“services.exe”,所以也无济于事。
Msiexec.exe 似乎知道调用进程,因为它将这一行写入日志文件:
=== Verbose logging started: [blah...] Calling process: C:\temp\testsetup.exe ===
我找不到任何 API 来查询此信息。我查看了property reference 和installer functions。
【问题讨论】:
-
您使用哪个工具来构建 setup.exe 和 MSI?大多数人都会这样做,但它们并不完全相同。
-
"setup.exe" 是一个用 C++ 编写的自定义应用程序,MSI 是通过python msilib 构建的。我无法修改它们中的任何一个,因为我只是提供了一个合并模块。我需要读取一些附加到“setup.exe”的数据。
标签: windows-installer custom-action