InstallShield 如何去掉左下角的商标/去掉定制皮肤的商标

InstallShield 如何去掉左下角的商标/去掉定制皮肤的商标

本来想把有关 InstallShiled 皮肤定制方面的东西写一篇小文,但经过几个小时的仔细钻研,决定放弃。

最根本的理由是,我还是建议尽量使用 MSI。即便采用 InstallShield 来制作安装程序,也尽量采用 Basic MSI Project,而不要涉及太多 InstallShield 自己的东西。

两个原因:

1、MSI 兼容性更好

比如,在设置了一定的安全策略(比如限制安装软件)的域里,只能通过 MSI 文件来安装软件的时候,你就知道有多么头疼了。此时,只有标准的 MSI 能够运行。如果通过域的分派和分发来统一升级域中的 Client,用 MSI、MSP 和 MST 倒是很方便,否则就用“瑞星”用的“原始社会”方法:在 Login 脚本中从文件服务器共享的目录中复制文件到本地——我在某个客户那里见到这段批处理时真的不敢相信自己的眼睛。令我沮丧的是,那天很倒霉——客户的域服务器无法更改安全策略,而备份域服务器早已被用作它途,还只能用原始方法解决问题——我给系统设计的自动升级(自动下载结合IS制作的补丁)无法在这个有问题的域中使用,只好采用类似瑞星以及大多数网络游戏采用的方式。

2、不否认 InstallShield 很好用,但它也很霸道。下面是两个关于皮肤的很常见的问题:

很多朋友问:能不能更改 InstallShield 制作的安装程序启动时候和安装过程中提示内容的 “InstallShield Wizard”字样?

答案是:No Way. 连门都没有。

对于 InstallShield MSI Project 或者 InstallShield Project,如果你以为替换 String Table 中的“InstallShield Wizard”内容就能达到目的,那就大错特错了。不信,你替换后编译试试看。

还有很多朋友问:能不能去掉 InstallShield 制作的安装程序每一个对话窗口左下角的“InstallShield”字样?

答案还是:No Way. 连门都没有。

看看 InstallShiled 定制皮肤,你可以根据自己所用的 IS 版本(7.0以上)下载对应的 InstallShield Skin Customization Kit,这是一个定制皮肤的工具包。准确地说,其实是一个资源编译和展开工具,其中有用的东西仅仅是其 Bin 目录下的 CreateSkinFile.exe 和 CSF.dll。

曾经以为有了它就能解决上面第二个问题,但不幸地:

虽然你可以用自己的图片替换掉原来带有“InstallShield”字样的图片,但当你用 CreateSkinFile.exe 来把你的图片打包成一个 Setup.isn 的时候,CreateSkinFile.exe 又把“InstallShield”印到你的图片的左下角。

除非,有一个 cracking tool 能破掉它——但这是违反 InstallShield 授权协议的。当然,盗版软件都用了,谁又在乎区区crack掉一个 banding?呵呵,只是当你希望把软件销往世界各地的时候就不好说了——甚至不好说以后IS的势力渗入国内。



--------------------------------------------------------------------------------
但是不必过分担心。首先,不会有用户在意安装程序左下角有一个小小的 InstallShield 字样出现;其次,你可以尽量采用 MSI 或者用 InstallShield 来制作 Basic MSI Project,然后在 Build 出来的 MSI 中替换掉 InstallShield 字样。

下面的内容就是有关这两个话题的:

1、如何修改标准的 MSI,替换掉相应的内容?

2、关于为何保留“InstallShield”商标的官方说明



--------------------------------------------------------------------------------
1、如何修改标准的 MSI,替换掉相应的内容?


'
' 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. 而不是你,笑。

当然,有一定的道理。只是最无聊的还是 InstallShield 仗着别人不知道其 Setup.isn 文件的结构,没有做出第三方的资源编辑器,所以在其提供的皮肤定制工具中强行加入它的商标,这一点很过分。想必,只要有cracker关注这个问题,它的这点小伎俩很容易就被识破,失去作用。呵呵,迟早的事情。至少,我已经解决了这个问题。


--------------------------------------------------------------------------------

结尾:希望

呵呵,虽然在互联网上找了四个多小时,也看遍了 InstallShield 社区及 InstallSite.org 的各种文章,(除了上面说的对 MSI 项目可以)都没有找到解决如何去掉左下角的 InstallShield Banding 的办法。而且,看了官方的说明仔细想想,也的确没有必要非要那么做。何况我们可以用 MSI(在 InstallShield 里面创建 Basic MSI Project,然后用上面说的方法修改 MSI 里的 InstallShield 商标)。

 但,给大家留一点希望,对于 InstallScript 和 InstallScript MSI 项目的皮肤,去掉它的商标还是可以实现地,嘿嘿 ^oo^



呵呵,我是出于学习和研究InstallShield这个软件的新features才安装的,至于kg也是同样的。并没有把它用于商业目的,所以希望 IS 不要来找我麻烦。工作上所用的版本,公司购买了IS7的License并一直升级到8,但我的工作范围也不在此,与我无关咯

而上面这张图片正是我“学习并研究”的成果。

 

不过,还是那句话:玩过了大家就都没得玩了。

如果 IS 下一个版本改进了,那我们玩什么?所以,看明白了的朋友,不要去宣传它,低调一点点,再低调一点点吧。

如果的确有需要,又没看明白,联系我。

 

你可能感兴趣的:(服务器,basic,工具,pascal,installer,wizard)