2014-02-18 21 views
0

我正在使用InstallShield 2013 Professional,基本MSI项目。更改图标在安装过程中的快捷方式索引

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

假设我的可执行文件包含3个图标资源,并且我想在安装过程中动态更改图标。为了更清楚我想要做什么:在“安装对话框”之一上有3个单选按钮,并且我想将图标应用于myfile.exe快捷方式,具体取决于选中的单选按钮(1-st radio button-> 1-st icon ,第2个单选按钮 - >第2个图标,第3个单选按钮 - >第3个图标)。

我该如何得到这种行为?换句话说,如何在安装过程中更改图标文件的图标索引?

回答

1

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

如果这不是一个选项,它会变得更复杂。 Shortcut Table将IconIndex列定义为整数且不可格式化。这意味着你不能在现场说[ICONINDEX]并在安装时解决它。

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

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

相关问题