我正在尝试使用WorkingDirectory创建WIX中的快捷方式:
<Shortcut Id="PowerShellShortcut" Name="$(var.PRODUCTNAME) Powershell Prompt" Description="$(var.PRODUCTNAME) Powershell Prompt" WorkingDirectory="%HOMEDRIVE%%HOMEPATH%" Target="[POWERSHELLEXE]" Arguments='-noexit -command "Import-Module [APPLICATIONFOLDER]Binaries\MA.dll | Out-Null"' />
当我尝试构建时,我收到以下错误:
错误1 Shortcut / @WorkDirectory属性的值'%HOMEDRIVE %% HOMEPATH%'不是合法标识符。标识符可以包含ASCII字符A-Z,a-z,数字,下划线(_)或句点(。)。每个标识符必须以字母或下划线开头。
是否有解决方法将文字字符串“%HOMEDRIVE %% HOMEPATH%”设置为快捷方式的WorkingDirectory?
答案 0 :(得分:2)
您无法在%HOMEDRIVE%
文件中使用.wxs
等环境变量。而不是%HOMEDRIVE%%HOMEPATH%
,请尝试使用$(env.HOMEDRIVE)$(env.HOMEPATH)
答案 1 :(得分:2)
根据Shortcut Table上的文档,工作目录(WkDir)存储具有您希望存储在快捷方式中的值的属性的名称。此属性可以是DirProperty(即也是目录表的引用),或者它可以仅保存硬编码字符串本身。如果您希望最终快捷方式包含文字文本%HOMEDRIVE%%HOMEPATH%
,请将您的工作目录设置为类似WKDIR_HOME
的内容,这是您已设置为%HOMEDRIVE%%HOMEPATH%
的属性的名称。