2

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

4

2 回答 2

2

Windows Installer 没有这种能力。您必须编写一个自定义操作来解析 OriginalDatabase,然后从那里处理到父级。

于 2013-06-20T22:15:12.700 回答
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)
于 2013-06-25T15:40:31.643 回答