急:innosetup编译问题!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急:innosetup编译问题!相关的知识,希望对你有一定的参考价值。

其中的一行是这样的 Root:HKCU; Subkey:"Keyboard Layout\Preload\5"; ValueType:string;ValueName:"TrueID";ValueData:""
编译时innosetup提示 :不可识别的参数名称“Root: ... Preload\5”:ValueTape”。

另外一行: Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0230804"; ValueType: string; ValueName: "Ime File"; ValueData: "一.IME"

系统提示:未知常量“一.IME",
以后还有一些,都不能运行。我想用innosetup做一个传统输入法安装在系统上,如何做??高手指教!!可以用它把mb和ime文件安装到system32文件夹下,但不能把相关信息写入注册表!!
高手指教。

比如说建一个念青五笔吧
使用方法:
一、建立文件夹: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(ExpandCons
参考技术A http://www.baidu.com/s?ie=gb2312&bs=%C7%A8%D2%C6AD%CA%FD%BE%DD%BF%E2&sr=&z=&cl=3&f=8&wd=innosetup&ct=0

http://www.baidu.com/s?ie=gb2312&bs=innosetup&sr=&z=&cl=3&f=8&wd=innosetup%BD%CC%B3%CC&ct=0

http://www.gougou.com/search?search=innosetup%E6%95%99%E7%A8%8B&restype=-1&id=10000002&ty=0
只能帮到你这么多了,希望能有所帮助。。。
参考技术B 太专业了,呵呵

建议问下同行,或者是老师什么的.

祝你成功!
参考技术C 为了不使问题因只有3个答案而被无偿关闭,就来踩一脚。

高分请教Inno Setup 编译器高手

Inno Setup 编译器,是一个打包程序,请教高手为什么我的程序在打包完成后,运行执行文件在桌面和程序下老是报数据库的错误,我看了Inno Setup 编译器的脚本代码实在找不到要改的地方,请懂的朋友远程教下我,^_^谢谢,QQ:2773601 在线等!!

参考技术A 你是不是打包VB的啊?
因为VB有些文件要写到system32目录中
inno会认为它们是不安全的
inno不适合制作VB的安装包,它适用于delphi或是BCB
推荐你用Install Vise
参考技术B 路径问题,问题已解,专业接分。本回答被提问者采纳

以上是关于急:innosetup编译问题!的主要内容,如果未能解决你的问题,请参考以下文章

如何在编译设置时创建多个 zip 存档

高分请教Inno Setup 编译器高手

qt静态编译后怎样打包exe文件

急,WinEdt无法编译.tex文件了

关于qt的图片显示的问题,急???程序通过编译,但图片不能顺利打开。

JDK如何编译JAVA文件 !急!!