我刚刚制作了一个基本MSI安装程序[使用installshield 2012 spring professional]来安装ActiveX控件,我基本上添加了组件并为密钥文件启用了“解压安装提示信息”选项。
我已对目标路径进行了硬编码,并禁用了许可证,公司信息,目标路径选择对话框。在seup.exe下的版本中,我启用了压缩MSZIP。
ActiveX dll的大小是200 kb,但生成的setup.exe文件的大小是1.5 Mb,我能做些什么来进一步减小大小?
答案 0 :(得分:0)
你必须在ORCA中查看你的MSI才能看到臃肿来自哪里。您可能能够简化用于对话框的图形,或者您可能会发现InstallShield插入的一些您不需要的C ++基础结构自定义操作。 (右键单击显示所有自定义操作)
我刚刚使用IS2012创建了一个基本MSI,采用了所有默认设置(包括MSZIP),它是613KB。然后我从syswow64文件夹中添加了一个任意OCX(根据大小选择:ahtmlle2.ocx 218kb),解压缩COM数据并重建。使用MSZIP的MSI为845KB,使用LZX的MSI为809KB。
然后我查看了二进制表并看到了SetAllUsers.dll和ISSELFREG.dll。我不需要其中任何一个,所以我把它们拿出来了。这让我降到了438KB。
最后,我查看了对话框中使用的股票位图。 (在我的案例中为NewBinary1和NewBinary5。)Banner(NB1)为4KB。对话框(NB5)为16KB。不是很臃肿。我仍然将它们变成空白的白色JPG并重建。这让我达到424KB。可能还有其他一些东西需要追逐(对话框的图标),但现在我决定尝试使用WiX。
我使用相同的JPG创建了一个WiX MSI,大小为392KB。较小,但没有任何有意义的方式。我用这个作为交叉检查,我的IS MSI相当纯净。