请参阅以下声明;暂时我在 MSI 的安装项目中有硬编码的源和目标文件夹(这个文件夹是在安装过程中形成的)。注意:下面的文件路径是 MSI 软件包安装目标所在的路径,而不是源位置。如何通过隐藏 [INSTALLLOCATION]\App_Config\ 等硬编码值来设置目标或源属性值的问题
截至目前,我正在通过命令行传递 INSTALLLOCATION (E:\Websites\SCBUDirect\Website\SCBUDirect.B2CWeb) 并希望将目标文件夹值设置为 [INSTALLLOCATION]\App_Config\ 但不确定如何通过属性设置来实现或我尝试但未能使其工作的自定义操作。
下面是需要复制的文件组件的片段(来自 heat.exe)。
<Component Id="cmp209B0DBB82F9FF15193D29F0BD337B7F" Directory="dirB0A921E55A598C65B18B4E47885629C3" Guid="{3B140259-FCC7-4D2E-8629-CBB879BBA46C}">
<File Id="filBC5CC5B8DCC504F6DC75A7B2673E7D0D" KeyPath="yes" Source="C:\Workspaces\Chatra\Website\SCBUDirect.B2CWeb\App_Config\basic.log4net.dev" />
</Component>
这是我在 product.wxs 中的部分代码
<Fragment>
<Property Id="SourceFilesFolder" Value="E:\Websites\SCBUDirect\Website\SCBUDirect.B2CWeb\App_Config\basic.log4net.dev" />
<Property Id="DestFilesFolder" Value="E:\Websites\SCBUDirect\Website\SCBUDirect.B2CWeb\App_Config\" />
<ComponentGroup Id="CopyFiles">
<ComponentRef Id="CMP_LOG4TXT" />
</ComponentGroup>
<Component Id="CMP_LOG4TXT" Guid="341BD660-7249-42DD-9744-DBEF0776AD52" Directory="INSTALLLOCATION" KeyPath="yes">
<CopyFile Id="Copy_LOG4TXT"
SourceProperty="SourceFilesFolder"
DestinationProperty="DestFilesFolder"
DestinationName="basic.log4net" />
</Component>
</Fragment>