使用 Wix 读取 ini 文件时的排序问题
我必须用 Wix 读取 ini 文件。此 ini 文件由安装程序本身通过自定义操作创建(exe 文件生成 ini 文件)。
问题:AppSearch(读取ini 文件的位置)是InstallUISequence 的第一步。
即使我在 AppSearch 之前调用 CA,也会收到错误,因为当我尝试读取 ini 文件时,它尚未创建。(CA 中的 Return="asyncWait")。
电话如下:
<InstallUISequence>
<Custom Action="LaunchCA" Before="AppSearch" />
</InstallUISequence>
有解决办法吗?谢谢!
I have to read an ini file with Wix. This ini file is created by the installer itself by a custom action (an exe file generates the ini file).
Problem:AppSearch (where the ini file is read) is the first step of the InstallUISequence.
Even if I call the CA before AppSearch, I get an error because when I try to read the ini file, it is not created yet..(Return="asyncWait" in the CA).
Here is the call:
<InstallUISequence>
<Custom Action="LaunchCA" Before="AppSearch" />
</InstallUISequence>
Is there a solution? Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Windows Installer INI 搜索仅支持 C:\Windows 文件夹中的文件。所以使用搜索是不可行的。
相反,您可以尝试使用自定义操作(您编写的自定义代码)来读取文件。我假设您想将结果保存在某些安装程序属性中。因此,您的自定义操作将需要接收安装句柄。
Windows Installer INI searches support only files in C:\Windows folder. So using a search is not feasible.
Instead, you can try using a custom action (custom code written by you) to read the file. I assume you want to save the result in some installer properties. So your custom action will need to receive the installation handle.
那么,您需要的是访问生成的 INI 文件中的数据,对吧?你控制EXE输出数据的方式吗?
如果这样做,您可以使该数据不转储到 INI 文件,而是转储到自定义 MSI 表。稍后,您的 CA 无需等待它创建即可读取 INI 文件的内容,并且您将摆脱 AppSearch 依赖项。
So, what you need is to access the data in that generated INI file, right? Do you control the way that EXE outputs the data?
If you do, you can make that data to be dumped not to INI file, but to the custom MSI table instead. Later on, your CA to read the contents of the INI file doesn't have to wait for it to gets created and you'll get rid of the AppSearch dependency.