在 WIX 中运行时为快捷方式动态分配名称
Posted
技术标签:
【中文标题】在 WIX 中运行时为快捷方式动态分配名称【英文标题】:Dynamically assigning name to shortcut at run time in WIX 【发布时间】:2013-05-13 14:08:22 【问题描述】:我想根据用户输入为快捷方式分配不同的名称。使用 WiX 工具集是否可行?我尝试将属性值分配给Shortcut
元素的Name
属性,但它不起作用。
【问题讨论】:
【参考方案1】:Shortcut Table 的 Name 列不是 Formatted 类型,因此无法在运行时使用 [PROPERTY] 对其进行变异。
我知道的唯一方法是:
-
跳过快捷方式表并编写自定义操作自行处理。
编写自定义操作以在运行时使用 SQL TEMPORARY 语法动态创作 ShortCut 表。
可能有一个已实现 #2 的扩展。
【讨论】:
【参考方案2】:我使用这个解决方法:
<CustomAction Id="SetShortcutFolder" Return="check" Property="ProgramMenuDir" Value="[ProgramMenuFolder][PRODUCTNAME]"></CustomAction>
<!--Setting up the shortcuts for the product-->
<Directory Id="ProgramMenuFolder" Name="Programs">
<Directory Id="ProgramMenuDir" Name="TempName"/>
</Directory>
<!--Set the install path to match the path of the product already installed-->
<Custom Action="SetInstallPath" Before="CostFinalize"/>
希望这会有所帮助..:)
【讨论】:
【参考方案3】:如果您要进行大量翻译并说很多排列,那么这是一个真正的缺点。而不是使用 WIX(这是我用过的最模糊的 API 之一),您可能更喜欢使用 Windows API 编写快捷方式。
【讨论】:
以上是关于在 WIX 中运行时为快捷方式动态分配名称的主要内容,如果未能解决你的问题,请参考以下文章