Installation 在安装过程中更改快捷方式的图标索引

Installation 在安装过程中更改快捷方式的图标索引,installation,windows-installer,installshield,Installation,Windows Installer,Installshield,我正在使用InstallShield 2013专业版、基本MSI项目 我的安装包包含exe文件-myfile.exe。我在快捷方式视图中为它添加了快捷方式,指定myfile.exe作为图标文件,0作为图标索引。此快捷方式的目标位置是目标框上的桌面 假设,我的可执行文件包含3个图标资源,我希望在安装过程中动态更改图标。为了更清楚地说明我想做什么:我在一个安装对话框上有3个单选按钮,我想根据选中的单选按钮(第一单选按钮->第一图标,第二单选按钮->第二图标,第三单选按钮->第三图标)将图标应用到my

我正在使用InstallShield 2013专业版、基本MSI项目

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

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


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

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

如果这不是一个选项,它会变得更加棘手。将IconIndex列定义为整数,不可格式化。这意味着您不能在字段中说[ICONINDEX],并让它在安装时解析

那你能做什么呢?在安装过程中,可以使用自定义操作将表数据动态发送到临时表中。使用C#的示例可在以下位置找到:

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