我有一个使用WIX创建的.MSI。这是我在VS2012开发的C#项目。当我给客户端我的MSI文件时,我希望自己有MSI参考,并且"放置/部署"一组文件到客户指定的位置。
我将所有这些文件的位置设置为
$(sys.CURRENTDIR)Build\etc\etc
但是,此变量在构建时已解析,因此它被硬编码到我的开发机器上的MY目录中。它现在在运行时设置并使用当前MSI的位置来提取文件。
这已经成为可能......但我无法在任何地方找到解决方案,有什么帮助吗?
答案 0 :(得分:0)
你的xml的结构应该是这样的:
<Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="COMPANYDIR" Name="MyCompany">
<Directory Id="PRODUCTDIR" Name="MyProduct">
<Component Id="C.AppExe" Guid="SOME GUID" >
<File Id="AppExe" Name="MyApp.exe"
Source="$(sys.CURRENTDIR)Build\etc\etc"/>
</Component>
</<Directory>
</<Directory>
</<Directory>
</<Directory>