innosetup 64bit 和32 bit
来源:互联网 发布:清除数据后照片还在吗 编辑:程序博客网 时间:2024/06/06 06:38
根据系统类型自动运行对应的程序,
系统类型:Windows XP 跟Windows 7 32 系统和Windows XP 跟Windows 7 64 位系统
程序A为 Windows XP 32位系统安装后需要运行的, 这个可以用 Check: not IsWin64 跟 MinVersion: 0,5.01.2600 来完成。
程序B为 Windows 7 32位系统安装后需要运行的,这个也可以用 Check: not IsWin64 跟 MinVersion: 0,5.01.2600 来完成。
程序C为 Windows XP 64位跟Windows 7 64位系统安装后需要运行的
程序 C 为 64位系统共用的
问题在程序 C ,需要更改一下系统,重启后才能有效安装下一步!
思路:RUN段运行程序C1,更改系统设置,完毕,关闭C1,系统重启动,启动后自动继续运行安装程序并接着运行C2、C3、C4完成!
RUN执行代码如下:
- [Run]
- :此为WindowsXP 32系统执行的程序
- Filename: {src}\32-bit\WindowsXP\HASPUserSetup.exe; StatusMsg: 正在安装加密狗驱动...; Check: not IsWin64; MinVersion: 0,5.01.2600
- Filename: {win}\regedit.exe; Parameters: /S {src}\32-bit\WindowsXP\data.reg; StatusMsg: 正在导入注册文件; Check: not IsWin64; MinVersion: 0,5.01.2600
- Filename: {src}\32-bit\WindowsXP\devcon.exe; StatusMsg: 正在安装加密狗...; Parameters: remove root\vusbbus; Check: not IsWin64; MinVersion: 0,5.01.2600
- Filename: {src}\32-bit\WindowsXP\devcon.exe; StatusMsg: 正在安装加密狗...; Parameters: install {src}\32-bit\WindowsXP\vusbbus.inf root\vusbbus; Check: not IsWin64; MinVersion: 0,5.01.2600
- ;此为Windows7 32系统执行的程序
- Filename: {src}\32-bit\Windows7P\HASPUserSetup.exe; StatusMsg: 正在安装加密狗驱动...; Check: not IsWin64; MinVersion: 0,6.1.7600
- Filename: {win}\regedit.exe; Parameters: /S {src}\32-bit\Windows7\data.reg; StatusMsg: 正在导入注册文件; Check: not IsWin64; MinVersion: 0,6.1.7600
- Filename: {src}\32-bit\Windows7\devcon.exe; StatusMsg: 正在安装加密狗...; Parameters: remove root\vusbbus; Check: not IsWin64; MinVersion: 0,6.1.7600
- Filename: {src}\32-bit\Windows7\devcon.exe; StatusMsg: 正在安装加密狗...; Parameters: install {src}\32-bit\WindowsXP\vusbbus.inf root\vusbbus; Check: not IsWin64; MinVersion: 0,6.1.7600
- ;此为WindowsXP 64跟此为Windows7 64位系统执行的程序
- Filename: {src}\64-bit\Final_x64 Parasima\dseo13b.exe; StatusMsg: 正在安装加密狗驱动...; Check: IsWin64; MinVersion: 0,5.01.2600
- Filename: {win}\regedit.exe; Parameters: /S {src}\32-bit\Windows7\data.reg; StatusMsg: 正在导入注册文件; Check: IsWin64; MinVersion: 0,5.01.2600
- Filename: {src}\64-bit\Final_x64 Parasima\devcon.exe; StatusMsg: 正在安装加密狗...; Parameters: remove root\vusbbus; Check: IsWin64; MinVersion: 0,5.01.2600
- Filename: {src}\64-bit\Final_x64 Parasima\devcon.exe; StatusMsg: 正在安装加密狗...; Parameters: install {src}\64-bit\Final_x64 Parasima\vusbbus.inf root\vusbbus; Check: IsWin64; MinVersion: 0,5.01.2600
[CODE]
const
sFileName = '{%tmp}\log.ini';
procedure CurStepChanged(CurStep: TSetupStep);
var
IniFile, OldString, NewString: string;
IniFileLines: TArrayOfString;
Textfile : TArrayOfString;
begin
if (CurStep=ssDone) and (Pos('instance', WizardSelectedComponents(False)) > 0) then
begin
//建立log.ini文件
SetArrayLength(Textfile, 8 )
Textfile[0]:='[Setup]';
Textfile[1]:='Lang=default';
Textfile[2]:='Dir=C:\WINDOWS';
Textfile[3]:='Group=(Default)';
Textfile[4]:='NoIcons=0';
Textfile[5]:='SetupType=custominstallation';
Textfile[6]:='Components='+WizardSelectedComponents(False);
Textfile[7]:='Tasks=';
SaveStringsToFile(ExpandConstant(sFileName), Textfile, False);
//建立重启后继续的快捷方式(注册表)
RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce','cqaz', ExpandConstant('{srcexe}')+' /LOADINF='+ExpandConstant('{%tmp}')+'\log.ini'+' /SILENT');
//依据用户选择的组件修改log.ini文件
IniFile:= ExpandConstant('{%tmp}\log.ini');
OldString:='instance';
NewString:= '';
LoadStringsFromFile(IniFile, IniFileLines);
StringChange(IniFileLines[6], OldString, NewString);
SaveStringsToFile(IniFile, IniFileLines, False);
end;
end;
- innosetup 64bit 和32 bit
- 32bit和64bit
- 32bit和64bit的区别
- sizeof 32bit 64bit
- 32bit or 64bit
- 32bit还是64bit
- Ubuntuh桌面版12.04 32bit和64bit和13.04 32bit和64bit下载地址
- 对于hp 32bit位 和64bit的区别
- X86平台Linux 32bit和64bit编程注意事项
- 对于hp 32bit位 和64bit的区别
- 32bit 和 64bit系统的区别
- 32bit 和 64bit系统的变量差异
- innosetup 64位注册表项 运行在32位系统报错Cannot access 64-bit registry keys
- win 2008 32bit 到64bit
- 32bit应用程序转位64bit
- RCU 32bit for 64bit machine
- RHEL6 64 bit with libstdc++ 32 bit
- 32bit->64bit domino升级
- MFC定时器的应用
- 兼容所有主流浏览器的图片上传本地预览(IE\FIREFOX\CHROME)
- 访问者模式讨论篇:java的动态绑定与双分派
- 使用wireshark分析网络流量实例
- 详解java类的生命周期
- innosetup 64bit 和32 bit
- TCP网络关闭的状态变换时序图
- NSXMLParser和GDataXMLNode两种解析方式
- 自助Linux之问题诊断工具strace
- 纯手工打造漂亮的垂直时间轴,使用最简单的HTML+CSS+JQUERY完成100个版本更新记录的华丽转身!
- SOSO街景地图 API (Javascript)开发教程(1)- 街景
- iozone iostat atop
- linux 访问windows
- Oracle 10g 异常处理