更改图标安装期间快捷方式的索引

时间:2014-02-18 10:56:33

标签: installation windows-installer installshield

我正在使用InstallShield 2013 Professional,基本MSI项目。

我的安装包中包含exe文件 - myfile.exe 。我在快捷方式视图中添加了快捷方式,将 myfile.exe 指定为图标文件,将0指定为图标索引。此快捷方式的目标位置是目标框上的桌面。

假设,我的可执行文件包含3个图标资源,我想在安装过程中动态更改图标。为了更清楚我想做什么:我在其中一个安装对话框上有3个单选按钮,我想根据选中的单选按钮将图标应用到myfile.exe快捷方式(1-st单选按钮 - > 1-st图标,第二个单选按钮 - >第二个图标,第三个单选按钮 - >第三个图标)。

我怎样才能得到这种行为?换句话说,如何在安装过程中更改Icon File的图标索引?

1 个答案:

答案 0 :(得分:1)

这是一个复杂的请求。实现这一目标的一种更简单的方法是使用不同的名称和不同的图标0资源编译EXE三次,然后使用互斥的组件条件来控制安装哪一个。

如果那不是一个选项,那就太棘手了。 Shortcut Table将IconIndex列定义为整数,并且不是可格式化的。这意味着你不能在字段中说[ICONINDEX]并让它在安装时解析。

那你能做什么?您可以使用自定义操作在安装期间将表数据动态地发布到临时表中。使用C#的示例可以在以下位置找到:Dynamic Windows Installer UI

意识到如果有人手动创建快捷方式,他们可能会选择“错误”的图标。