如何找到运行msi安装程序的位置

时间:2012-08-15 13:50:10

标签: wix

有谁能告诉我如何找到运行msi安装程序的位置。

例如,我在桌面上的InstallerExample文件夹中有我的Sample.msi和Manuals文件夹。

我需要这些信息,以便我可以在File / @ Source中使用它,就像下面给出的那样。

<File Id="MyFileId" Name="MyFile" Source="[SourceDir]Manuals" KeyPath="yes" >

SourceDir应具有值C:\Users\bla\Desktop\InstallerExample\Manuals

如果有人能帮助我,那就太棒了。

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,因为我希望自定义操作从我的MSI读取文件,所以我需要路径。我能够使用

找到它
TARGETDIR

根据MSDN文档,TARGETDIR是

the root destination directory for the installation

同样根据MSDN,SourceDir是

the root directory that contains the source cabinet file or the source file tree of the installation package

所以SourceDir属性指向一个真实的目录:MSI文件所在的目录。使用msiexec / lvx * installer.log installer.msi进行安装时,您可以在安装程序日志中看到此信息。

但是,由于某种原因,在解析TARGETDIR时完全忽略了SourceDir。必须明确设置TARGETDIR(例如在命令行上),否则它将解析为ROOTDRIVE。如果未明确设置ROOTDRIVE,则它是具有最多可用空间的驱动器的根。