长话短说,这是行不通的:
<Icon Id="msiexec.ico" SourceFile="[SystemFolder]msiexec.exe"/>
(错误 4 系统找不到文件'[SystemFolder]msiexec.exe')
这也不起作用:
<Icon Id="msiexec.ico" SourceFile="$(var.SystemFolder)msiexec.exe"/>
错误 3 未定义的预处理器变量“$(var.SystemFolder)”。
如果您var.SystemFolder
作为参数传递给candle.exe
.
该<Icon>
元素被映射到Icon MSI 表。在构建时,它会尝试查找您在SourceFile
属性中指定的路径,并将其作为二进制数据流式传输到Data
Icon 表的列。这意味着,在构建时应该知道路径。但这在您的第一个示例中并非如此 -SystemFolder
在安装时解决。