WiX - 查找.msi目录的父级

时间:2013-06-20 22:12:13

标签: xml wix windows-installer installer wix3.7

我正在使用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不允许我在预设目录路径前添加“.. \”。我不知道如何从该文件夹导航。任何建议将不胜感激!

2 个答案:

答案 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)