如何访问Wix引导程序所在位置的文件夹?

3
我有一个启动程序,我希望将其内容安装到与运行.exe文件相同的目录中。当用户按下“LAUNCH”按钮时,将运行此可执行文件。如何引用此目录?
我试图通过MsiProperty将$(sys.CURRENTDIR)传递给MSI,但是查看日志文件后发现CURRENTDIRECTORY和INSTALLFOLDER不匹配。
CURRENTDIRECTORY=C:\Users\nickd\Desktop\WixTestingInstall\CW6 INSTALLFOLDER=C:\VB6\CW6\CW6.root\CW6\PreReqsInstaller\
非常感谢您的帮助。
1个回答

6
您可以尝试使用内置的burn变量:

WixBundleOriginalSource-获取捆绑包最初运行的源路径。 WixBundleOriginalSourceFolder - 获取捆绑包最初运行的文件夹。

WIX内置变量

如下方@SeanHall所述,这些变量仅在WiX 3.9.526.0版本及以上可用。

像这样做:

    <Variable Name="InstallFolder" Type="string" Value="[WixBundleOriginalSourceFolder]" />

<MsiPackage 
        Id="msiforinstall" 
        Compressed="yes" 
        SourceFile="sourcepath" 
        Vital="yes"> 
        <MsiProperty Name="INSTALLLOCATION" Value="[InstallFolder]" /> 
  </MsiPackage> 

1
FYI,WixBundleOriginalSourceFolder 刚刚在 WiX 3.9.526.0 的每周构建版本中添加。 - Sean Hall
非常感谢!我之前使用的是3.8.x版本,但在更新并进行了这些操作后,它现在完全按照我的要求工作了! - dingdangdowney
有没有一种简单的方法可以获得这个值,而不需要升级到每周版(尚未生产稳定)? - Snixtor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接