gradle - WiX/SetupBuilder 在 vbscript 中获取 INSTALLDIR 的值
问题描述
要创建 MSI,我使用 Gradle 插件SetupBuilder。
安装后,我需要从安装目录执行一个二进制文件。但我无法访问 INSTALLDIR 属性:
msi {
postinst = '''
MsgBox ("INSTALLDIR: " & Session.Property("INSTALLDIR"))
'''
}
但:
我发现 SetupBuilder 在 .wxs 文件中创建了以下自定义操作:
<CustomAction Execute="deferred" Id="Postinst_Script0" Impersonate="no" Script="vbscript">
MsgBox ("INSTALLDIR: " & Session.Property("INSTALLDIR"))
</CustomAction>
<CustomAction Id="SetPropertiesPostinst_Script0" Property="Postinst_Script0" Value="INSTALLDIR='[INSTALLDIR]';ProductCode='[ProductCode]';INSTANCE_ID='[INSTANCE_ID]'"/>
然后他们被这样称呼:
<InstallExecuteSequence>
<Custom Action="Postinst_Script0" Before="InstallFinalize">NOT Installed OR REINSTALL OR UPGRADINGPRODUCTCODE</Custom>
<Custom Action="SetPropertiesPostinst_Script0" Before="Postinst_Script0"/>
</InstallExecuteSequence>
根据有关CustomAction ElementProperty
的 WiX 文档,和的组合Value
应该导致自定义操作类型 51,这几乎是我迷路的地方。太多未知数无法理解,只是为了访问一个简单的属性。
有人可以帮我理解吗?我如何访问该物业?
解决方案
推荐阅读
- python - defaultdict 键默认值问题
- javascript - 如何使用 require 导出所有组件?
- visual-studio-code - 用于更新工作区设置的 VS Code 扩展
- java - Guava CacheBuilder 在缓存到期后不会立即调用removingListener
- python - 如何重新排序数据帧的顺序以匹配第二个数据帧的顺序?
- android - 在 href 中的 url 之前添加不安全的角度 - 清理不安全的 URL
- r - 使用 lubridate 检索会计年度的月份数
- google-apps-script - 发布新版 Google 表格插件
- swift - 无法以编程方式将文件图标图像添加到 xib 图像视图
- python - Pandas:如何在 MultiIndex 中格式化图例