; 脚本由 Inno Setup 脚本向导 生成!
; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!
#define MyAppName "我的程序"
#define MyAppVersion "1.5"
#define MyAppPublisher "我的公司"
#define MyAppURL "http://www.baidu.com/"
#define MyAppExeName "ConsoleApplication8.exe"
[Setup]
; 注: AppId的值为单独标识该应用程序。
; 不要为其他安装程序使用相同的AppId值。
; (生成新的GUID,点击 工具|在IDE中生成GUID。)
AppId={{BD7D1785-F7AC-44DA-B58E-CC84DCFB0418}
;程序名
AppName=APP
;版本号
AppVersion=APP 1.0.0
;AppVerName={#MyAppName} {#MyAppVersion}
;发布者名
AppPublisher={#MyAppPublisher}
;相关连接
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
;默认安装目录
DefaultDirName={pf}\{#MyAppName}
;默认开始菜单名
DefaultGroupName={#MyAppName}
;是否打开->可选安装开始菜单项
;AllowNoIcons=yes
;安装协议
;LicenseFile=C:\Example\原始文件\agreement.txt
;安装前查看的文本文件
InfoBeforeFile=D:\mcWindowsService.txt
;安装后查看文本文件
InfoAfterFile=D:\mcWindowsService.txt
;输出文件夹,安装包生成的文件夹
OutputDir=C:\Users\Administrator\Desktop\我的程序
;输出文件名
OutputBaseFilename=baidu
;安装图标
SetupIconFile=E:\ooopic_1440492260.ico
;安装需要输入密码
;Password=123
;Encryption=yes
;压缩相关
Compression=lzma
SolidCompression=yes
;可以让用户忽略选择语言相关
;ShowLanguageDialog = yes
;备注版本信息
;VersionInfoCompany=HTTP://www.Hkiss.COM
;VersionInfoDescription=ISsample 汉化增强版
;VersionInfoVersion=1.0.0.0
;VersionInfoCopyright=Copyright (C) 2007-2008 Hkiss
;制作选择语言
[Languages]
Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"
;用户定制任务
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
;文件安装
[Files]
Source: "E:\ConsoleApplication8\ConsoleApplication8\bin\Release\ConsoleApplication8.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\ConsoleApplication8\ConsoleApplication8\bin\Release\ConsoleApplication8.pdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\ConsoleApplication8\ConsoleApplication8\bin\Release\ConsoleApplication8.vshost.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\ConsoleApplication8\ConsoleApplication8\bin\Release\ConsoleApplication8.vshost.exe.manifest"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\ConsoleApplication8\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
;启动另外一个程序
Source: "C:\Users\Administrator\Desktop\桌面资料下载\dotNetFx45_Full_setup.exe"; DestDir: "{tmp}"; Flags: ignoreversion
; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion”
;安装类型设置
;[Types]
;组件安装
;[Components]
;开始菜单,桌面快捷方式
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
;添加一个帮助文挡
;Name: {group}\ISsample 1.0.0.0 帮助文档;Filename: {app}\ISsample.chm
;用来在程序安装完成后 在安装程序显示最终对话框之前执行程序 常用与运行主程序 显示自述文件 删除临时文件
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
;更改显示在程序中显示的消息文本
;[Messages]
;BeveledLabel=HKiss科技
;卸载对话框说明
;ConfirmUninstall=您真的想要从电脑中卸载ISsample吗?%n%n按 [是] 则完全删除 %1 以及它的所有组件;%n按 [否]则让软件继续留在您的电脑上.
;定义解压说明
;StatusExtractFiles=解压并复制主程序文件及相关库文件...
;用于在用户系统中创建,修改或删除注册表健值
;[Registry]
;Root: HKLM ;SubKey:"Software\ISsample";ValueType:dword;ValueName:config;ValueData:10 ;Flags:uninsdeletevalue
;在执行脚本
[code]
function InitializeSetup: Boolean;
// var Path:string ; //声明变量
var ResultCode: Integer;
begin //开始
//判断注册表中是否存在相应的版本注册信息
if RegKeyExists(HKLM, 'SOFTWARE\Microsoft\.NETFramework\policy\v4.5') then
begin
Result := true; //变量赋值
end
else
begin
//MsgBox是Visual Basic和VBS中的一个函数,功能是弹出一个对话框,等待用户单击按钮,并返回一个Integer值表示用户单击了哪一个按钮。
if MsgBox('系统检测到您没有安装.Net Framework4.5,是否立刻下载并安装?', mbConfirmation, MB_YESNO) = idYes then
begin
//Path := ExpandConstant('{pf}\Internet Explorer\iexplore.exe');
//Exec(Path, 'http://www.microsoft.com/zh-cn/download/details.aspx?id=17718', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
ExtractTemporaryFile('dotNetFx45_Full_setup.exe');
Exec(ExpandConstant('{tmp}\dotNetFx45_Full_setup.exe'), '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
MsgBox('请安装好.Net Framework4.5环境后,再运行本安装包程序!',mbInformation,MB_OK);
Result := false;
end
else
begin
MsgBox('没有安装.Net Framework4.5环境,无法运行程序,本安装程序即将退出!',mbInformation,MB_OK);
Result := false;
end;
end;
end;
; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!
#define MyAppName "我的程序"
#define MyAppVersion "1.5"
#define MyAppPublisher "我的公司"
#define MyAppURL "http://www.baidu.com/"
#define MyAppExeName "ConsoleApplication8.exe"
[Setup]
; 注: AppId的值为单独标识该应用程序。
; 不要为其他安装程序使用相同的AppId值。
; (生成新的GUID,点击 工具|在IDE中生成GUID。)
AppId={{BD7D1785-F7AC-44DA-B58E-CC84DCFB0418}
;程序名
AppName=APP
;版本号
AppVersion=APP 1.0.0
;AppVerName={#MyAppName} {#MyAppVersion}
;发布者名
AppPublisher={#MyAppPublisher}
;相关连接
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
;默认安装目录
DefaultDirName={pf}\{#MyAppName}
;默认开始菜单名
DefaultGroupName={#MyAppName}
;是否打开->可选安装开始菜单项
;AllowNoIcons=yes
;安装协议
;LicenseFile=C:\Example\原始文件\agreement.txt
;安装前查看的文本文件
InfoBeforeFile=D:\mcWindowsService.txt
;安装后查看文本文件
InfoAfterFile=D:\mcWindowsService.txt
;输出文件夹,安装包生成的文件夹
OutputDir=C:\Users\Administrator\Desktop\我的程序
;输出文件名
OutputBaseFilename=baidu
;安装图标
SetupIconFile=E:\ooopic_1440492260.ico
;安装需要输入密码
;Password=123
;Encryption=yes
;压缩相关
Compression=lzma
SolidCompression=yes
;可以让用户忽略选择语言相关
;ShowLanguageDialog = yes
;备注版本信息
;VersionInfoCompany=HTTP://www.Hkiss.COM
;VersionInfoDescription=ISsample 汉化增强版
;VersionInfoVersion=1.0.0.0
;VersionInfoCopyright=Copyright (C) 2007-2008 Hkiss
;制作选择语言
[Languages]
Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"
;用户定制任务
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
;文件安装
[Files]
Source: "E:\ConsoleApplication8\ConsoleApplication8\bin\Release\ConsoleApplication8.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\ConsoleApplication8\ConsoleApplication8\bin\Release\ConsoleApplication8.pdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\ConsoleApplication8\ConsoleApplication8\bin\Release\ConsoleApplication8.vshost.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\ConsoleApplication8\ConsoleApplication8\bin\Release\ConsoleApplication8.vshost.exe.manifest"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\ConsoleApplication8\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
;启动另外一个程序
Source: "C:\Users\Administrator\Desktop\桌面资料下载\dotNetFx45_Full_setup.exe"; DestDir: "{tmp}"; Flags: ignoreversion
; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion”
;安装类型设置
;[Types]
;组件安装
;[Components]
;开始菜单,桌面快捷方式
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
;添加一个帮助文挡
;Name: {group}\ISsample 1.0.0.0 帮助文档;Filename: {app}\ISsample.chm
;用来在程序安装完成后 在安装程序显示最终对话框之前执行程序 常用与运行主程序 显示自述文件 删除临时文件
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
;更改显示在程序中显示的消息文本
;[Messages]
;BeveledLabel=HKiss科技
;卸载对话框说明
;ConfirmUninstall=您真的想要从电脑中卸载ISsample吗?%n%n按 [是] 则完全删除 %1 以及它的所有组件;%n按 [否]则让软件继续留在您的电脑上.
;定义解压说明
;StatusExtractFiles=解压并复制主程序文件及相关库文件...
;用于在用户系统中创建,修改或删除注册表健值
;[Registry]
;Root: HKLM ;SubKey:"Software\ISsample";ValueType:dword;ValueName:config;ValueData:10 ;Flags:uninsdeletevalue
;在执行脚本
[code]
function InitializeSetup: Boolean;
// var Path:string ; //声明变量
var ResultCode: Integer;
begin //开始
//判断注册表中是否存在相应的版本注册信息
if RegKeyExists(HKLM, 'SOFTWARE\Microsoft\.NETFramework\policy\v4.5') then
begin
Result := true; //变量赋值
end
else
begin
//MsgBox是Visual Basic和VBS中的一个函数,功能是弹出一个对话框,等待用户单击按钮,并返回一个Integer值表示用户单击了哪一个按钮。
if MsgBox('系统检测到您没有安装.Net Framework4.5,是否立刻下载并安装?', mbConfirmation, MB_YESNO) = idYes then
begin
//Path := ExpandConstant('{pf}\Internet Explorer\iexplore.exe');
//Exec(Path, 'http://www.microsoft.com/zh-cn/download/details.aspx?id=17718', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
ExtractTemporaryFile('dotNetFx45_Full_setup.exe');
Exec(ExpandConstant('{tmp}\dotNetFx45_Full_setup.exe'), '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
MsgBox('请安装好.Net Framework4.5环境后,再运行本安装包程序!',mbInformation,MB_OK);
Result := false;
end
else
begin
MsgBox('没有安装.Net Framework4.5环境,无法运行程序,本安装程序即将退出!',mbInformation,MB_OK);
Result := false;
end;
end;
end;