打包可执行程序,检查安装环境

来源:互联网 发布:企业画像 大数据 编辑:程序博客网 时间:2024/06/10 02:51
; 脚本由 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;
0 0
原创粉丝点击