有谁能告诉我如何找到运行msi安装程序的位置。
例如,我在桌面上的InstallerExample文件夹中有我的Sample.msi
和Manuals文件夹。
我需要这些信息,以便我可以在File / @ Source中使用它,就像下面给出的那样。
<File Id="MyFileId" Name="MyFile" Source="[SourceDir]Manuals" KeyPath="yes" >
SourceDir
应具有值C:\Users\bla\Desktop\InstallerExample\Manuals
如果有人能帮助我,那就太棒了。
答案 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,则它是具有最多可用空间的驱动器的根。