InstallShield - 目标计算机上的快捷方式图标文件

时间:2016-08-05 19:49:32

标签: icons installshield

我正在为自托管的ASP.NET Core应用程序开发(InstallScript MSI)安装程序。 (使用InstallShield 2015。)

我们实际上是为ASP.NET应用程序生成.EXE(而不是DLL),但似乎没有办法将图标嵌入到输出.EXE中。 (我在project.json选项的文档中没有看到任何内容,this SO question没有得到答复。)

由于这是一个InstallScript MSI项目,我无法创建Internet快捷方式,至少不使用设计器。所以我自己创建了一个并将其添加到安装项目中。我正在桌面和开始菜单上创建指向Internet快捷方式的“常规”/非Internet快捷方式。我想为这些快捷方式分配一个图标。

根据文档,如果您使用显示资源设置指定从中获取图标的资源DLL,则可以使用MSI属性在目标计算机上指定文件夹,例如[INSTALLDIR]\MyAppResources.dll

但是,如果使用图标文件图标索引设置指定图标,则显示您无法使用MSI属性,只能使用路径变量,因此即使我正在将.ico部署到目标系统我无法指出它的捷径 (对于感兴趣的...如果您尝试使用MSI属性指定图标文件,那么您将在构建过程结束时接下来 - 它是在媒体表生成之后 - 然后您收到错误。)

是的,我可以将图标指向构建系统上的资源。并且使用图标创建快捷方式,但图标指向%SystemRoot%\Installer\{someguid}.exe。这让我很担心,因为我知道有些人在磁盘空间不足时会清除像这样的文件夹。

我知道我可以在DLL中嵌入图标;或者我可以使用文件I / O“手动”生成.url文件(Internet快捷方式)。但为什么我需要?这似乎是一个愚蠢的限制。如果我可以从目标系统上的DLL中提取图标,为什么我不能在目标系统上指定.ICO文件?这有技术原因吗?

0 个答案:

没有答案