我正在使用WiX创建自定义安装程序。我想从.msi的目录导航一个目录,以便找到可执行文件的路径。在做了一些研究后,我发现[OriginalDatabase]指向.msi的位置,但我不知道如何从该位置搜索向上而不是向下搜索。这是我的搜索代码:
<Property Id="SHORTCUT">
<DirectorySearch Path="..\[OriginalDatabase]"
Depth="0"
AssignToProperty="no"
Id="MainSearch" >
<FileSearch Name="Program.exe" Id="EXESearch" />
</DirectorySearch>
</Property>
WiX不允许我在预设目录路径前添加“.. \”。我不知道如何从该文件夹导航。任何建议将不胜感激!
答案 0 :(得分:1)
Windows Installer没有这样的能力。您必须编写自定义操作来解析OriginalDatabase,然后从那里开始处理父级。
答案 1 :(得分:1)
只是为了让人们知道我是如何解决这个问题的,这是我的脚本(我必须在vbscript中编写)。它非常混乱,但它有效:
Session.Property("SHORTCUT") = Left(Session.Property("OriginalDatabase"), InStrRev(Session.Property("OriginalDatabase"), "\") -1)
Session.Property("SHORTCUT") = Left(Session.Property("SHORTCUT"), InStrRev(Session.Property("SHORTCUT"), "\") -1)