昨日,在答疑“盗墓者”时,突然发现举例可能发生版权的侵权行为!随便拿两个文件:XXX.IME、XXX.MB 文件,往往是有版权的作者写的,未得到作者容许的情况下写其输入法的安装程序是一种侵权行为。
今日,突然悟道,“秋枫”已经公布了一个“基于码表的安装程序”脚本,是关于念青五笔的安装程序,肯定已经念青同意发布。好!就写念青五笔的安装程序(因秋枫的安装程序需要安装一个由yackimoff编写的预处理的inno setup插件:Inno Setup Preprocessor,而此程序不大好找,刘波曾在 2003/02/28 发表My Inno Setup Extensions 3.0.6.2 汉化版,然而上传时误传了 Inno Setup 3.0.6.2 汉化版,此后张冠李戴至今,网上查找,可以找到英文版,用其编译而得的安装程序是英汉混杂、不伦不类。现在网上有 Inno Setup 4.0.10 汉化版,可以到 http://www.hanzify.org 下载使用。秋枫在论坛中曾说过“如果你找不到这个插件,你需要手动改一下脚本,去掉预处理指令,并根据理解去掉一些代码”,所以我对秋枫源程序作了修改)。这里发布的就是我修改后可用“Inno Setup 4.0.10 汉化版”成功编译的脚本,作为秋枫程序的扩展,方便大家使用。
使用方法:
一、建立文件夹:nqwbx9x 和 nqwbxnt,把两个版本的 NQWBX.HLP、Nqwbx.IME、Nqwbx.MB 等六个文件按版本分别放到各自的文件夹中(有时需要更名,使两个文件夹中的文件名相同);
二、把念青的 ReadMe.txt 以及我的脚本文件 nqwbinst.iss 放到这两个文件夹的外面,再把安装后的Inno Setup 4.0.10 汉化版中的语言文件 Simple Chinese.isl 复制到该文件夹中;
三、运行脚本文件 nqwbinst.iss,编译成功的目标文件放在文件夹“输出”中。
下面是脚本文件:nqwbinst.iss
重要注释:MsgBox('念青五笔主页: http://nq.yeah.net/; http://input.foruto.com/nianqing'#13+
该行出现错误,倒数第4个字符“'”变成了“'”,可能是论坛网页错误显示,无法更正,特此说明。
----------------------------------------
;;;nqwbinst.iss;;;
[Setup]
OutputBaseFilename=setup9xNT
AppName=念青五笔输入法简体Windows版
MinVersion=4.0.950,4.0.1381
Compression=zip/9
AppCopyright=念青五笔输入法简体Windows版
AppVerName=念青五笔输入法简体Windows版 2.00.03.0515
PrivilegesRequired=admin
CreateAppDir=false
DisableProgramGroupPage=true
Uninstallable=false
DisableStartupPrompt=true
InfoBeforeFile=readme.txt
;LicenseFile=License.rtf
;WizardImageFile=nqwbx.bmp
;WizardSmallImageFile=WizModernSmallImage.bmp
[Languages]
Name: Chinese; MessagesFile: Simple Chinese.isl
[Files]
Source: nqwbxnt\Nqwbx.IME; DestDir: {sys}; MinVersion: 0,4.0.1381; Flags: restartreplace
Source: nqwbxnt\Nqwbx.MB; DestDir: {sys}; MinVersion: 0,4.0.1381; Flags: restartreplace
Source: nqwbxnt\Nqwbx.hlp; DestDir: {win}\Help; MinVersion: 0,4.0.1381
Source: nqwbx9x\Nqwbx.IME; DestDir: {sys}; MinVersion: 4.0.950,0; Flags: restartreplace
Source: nqwbx9x\Nqwbx.MB; DestDir: {sys}; MinVersion: 4.0.950,0; Flags: restartreplace
Source: nqwbx9x\Nqwbx.HLP; DestDir: {sys}; MinVersion: 4.0.950,0
[Messages]
ReadyLabel2b=请单击[安装]开始进行安装。%n%n如果你的系统中已经安装有 念青五笔 2.00,安装程序将试图替换它。如果 念青五笔 2.00正在被当前系统使用中,安装结束后程序将要求重新启动用户的计算机。%n%n用户也可以选择不自动重启,在用户手动重启或注销登录后新版会自动更新原有的 念青五笔 2.00。
ReadyLabel2a=请单击[安装]开始进行安装。如果你想要更改任何设置的话,请单击[上一步]。%n%n如果你的系统中已经安装有 念青五笔2.00,安装程序将试图替换它。如果{#念青五笔}{2.00}正在被当前系统使用中,安装结束后程序将要求重新启动用户的计算机。%n%n用户也可以选择不自动重启,在用户手动重启或注销登录后新版会自动更新原有的 念青五笔 2.00。
WelcomeLabel1=欢迎使用 念青五笔 安装向导
WelcomeLabel2=本程序将在你的计算机上安装:%n%n[name/ver]。%n%n推荐你在继续之前先关闭所有其它的程序。
[Run]
Filename: {sys}\Nqwbx.HLP; Flags: shellexec postinstall skipifdoesntexist skipifsilent; MinVersion: 4.0.950,0; Description: 打开念青五笔帮助文件
Filename: {win}\Help\Nqwbx.HLP; Flags: shellexec postinstall skipifdoesntexist skipifsilent; MinVersion: 0,4.0.1381; Description: 打开念青五笔帮助文件
[code]
function ImmInstallIME(lpszIMEFileName, lpszLayoutText: String): LongInt;
external 'ImmInstallIMEA@imm32.dll stdcall';
function AlreadyInstalled: boolean;
begin
result := FileExists(ExpandConstant('{sys}\Nqwbx.IME'))
end;
procedure CurStepChanged(CurStep: Integer);
begin
if CurStep = csFinished then
begin
ImmInstallIME(expandConstant('{sys}\Nqwbx.IME'),'念青五笔 2.00.03.0515')
end;
end;
procedure AboutButtonOnClick(Sender: TObject);
begin
MsgBox('念青五笔主页: http://nq.yeah.net/; http://input.foruto.com/nianqing'#13+
'安装程序由秋枫<arcqiufeng@hotmail.com>友情制作 山顶洞小居<dtwys@163.com>改写'#13#13+
'本安装程序使用Inno Setup 4编译制作: '#13+
'Innosetup 4.0.10 http://www.jrsoftware.org/, 作者Jordan Russell, Martijn Laan',
mbInformation, mb_Ok);
end;
procedure InitializeWizard();
var
AboutButton, CancelButton: TButton;
begin
CancelButton := WizardForm.CancelButton;
AboutButton := TButton.Create(WizardForm);
AboutButton.Left := WizardForm.ClientWidth - CancelButton.Left - CancelButton.Width;
AboutButton.Top := CancelButton.Top;
AboutButton.Width := CancelButton.Width;
AboutButton.Height := CancelButton.Height;
AboutButton.Caption := '关于(&A)...';
AboutButton.OnClick := @AboutButtonOnClick;
AboutButton.Parent := WizardForm;
end;
------------------------------------
如果你想制作其他输入法的安装程序,只要把你的文件对应放到那两个文件夹中,并把脚本中的念青的文件名更改成你的文件名就行了。