' ' RemoveBranding.vbs ' ------------------ ' ' Windows Installer Script that removes the InstallShield branding ' (the 'InstallShield' label) from all dialogs in a MSI file and ' streches the line above the buttons to the left edge. ' ' Written by Pascal Bourque April 2001 ' Modified by Stefan Krueger 2001-09-26 '
Dim xInst Dim xDB Dim xView
Set xInst = CreateObject("WindowsInstaller.Installer") Call MsgBox(WScript.Arguments(0)) Set xDB = xInst.OpenDatabase(WScript.Arguments(0), 1)
Set xView = xDB.OpenView("DELETE FROM `Control` WHERE `Control`='Branding1' OR `Control`='Branding2'") Call xView.Execute Set xView = Nothing
Set xView = xDB.OpenView("UPDATE `Control` SET `X`=4, `Width`=366 WHERE `Control` ='DlgLine'") Call xView.Execute Set xView = Nothing
Call xDB.Commit
Set xDB = Nothing Set xInst = Nothing
Call MsgBox("InstallShield branding has been successfully removed from " & WScript.Arguments(0)) 这段代码展示了如何通过 WindowsInstaller 提供的组件在 MSI 的 DataBase 中搜索并移掉 InstallShield Basic MSI Project 产生的 MSI 文件中的 banding
对于 标准的 MSI 文件,如何去掉 IS 添加的 InstallShield Wizard 等字样,用类似的方法似乎也不难解决了。当然,还有许多第三方的 MSI 编辑器可供选择。结合这些工具,配合 IS 的 Basic MSI Project,似乎是一个完美的解决方案。
有关 MSI 的更多内容,可以好好看看 Windows Installer SDK,其实用好了它,IS 只不过能够提高我们的开发速度而已。
2、关于保留“InstallShield”字样的官方说明
原文:FAQ: Can I Remove All References to 'InstallShield' from My InstallShield Project? 大家英文都不差,我就不翻译了。其四条理由无非是说为了保持界面和风格的统一,去掉了的话,大家做的安装程序看起来就不太统一... 而 InstallShield 是一个知名品牌,用户已经习惯了它,并不会介意有这个banding的存在。甚至,它的存在还能让你的用户信赖你的安装程序,呵呵。另外就是说这样也方便用户反馈安装程序的毛病给 InstallShield Inc. 而不是你,笑。