Inno Setup 5打包exe遇到的坑,做一个学习记录
; 脚本由 Inno Setup 脚本向导 生成!
; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!
#define MyAppName "人员管理系统"
#define MyAppVersion "1.0"
#define MyAppPublisher "谷多软件"
#define MyAppURL "http://www.goldou.com/"
#define MyAppExeName "Goldou.UserBase.exe"
[Setup]
; 注: AppId的值为单独标识该应用程序。
; 不要为其他安装程序使用相同的AppId值。
; (生成新的GUID,点击 工具|在IDE中生成GUID。)
AppId={{5FAE5728-06AB-401F-AD4D-34D8979DA96A}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName=D:\Program Files\Microsoft Goldou User
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
OutputBaseFilename=setup
SetupIconFile=E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Resources\logo.ico
Compression=lzma
SolidCompression=yes
[Languages]
Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkablealone; OnlyBelowVersion: 0,8.1
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkablealone
[Files]
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Goldou.UserBase.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Aspose.Cells.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Aspose.Words.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\AxInterop.EloamThumbnailLib.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\AxInterop.EloamViewLib.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Goldou.BLL.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Goldou.BLL.pdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Goldou.Common.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Goldou.Common.pdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Goldou.DAL.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Goldou.DAL.pdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Goldou.DBHelper.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Goldou.DBHelper.pdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Goldou.Model.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Goldou.Model.pdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Goldou.UserBase.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Goldou.UserBase.exe.config"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Goldou.UserBase.pdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Goldou.UserBase.vshost.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Goldou.UserBase.vshost.exe.config"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Goldou.UserBase.vshost.exe.manifest"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\goldou_salary.db"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\HandyControl.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\HandyControl.pdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\HandyControl.xml"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Interop.EloamThumbnailLib.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Interop.EloamViewLib.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\libzkfpcsharp.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Microsoft.Windows.Shell.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\OpenSmtp.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\org.in2bits.MyXls.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\System.Data.SQLite.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\ToastNotifications.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\ToastNotifications.Messages.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\环境\shoping_client\Goldou.prsion_shopping\Goldou.prsion_shopping\bin\Release - 副本\dotNetFx40_Full_x86_x64.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\scanFile\*"; DestDir: "{app}\scanFile"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "E:\Project\2020\0507人员管理系统\Goldou_fire_Hoody_aotoscan\Goldou.UserBase\bin\Debug\Resources\*"; DestDir: "{app}\Resources"; Flags: ignoreversion recursesubdirs createallsubdirs
; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion,注意文件夹输出”
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
[Code]
function InitializeSetup: Boolean;
var
Path,tmppath:string ;
ResultCode: Integer;
dotNetV2RegPath:string;
dotNetV2DownUrl:string;
dotNetV2PackFile:string;
begin
dotNetV2RegPath:='SOFTWARE\Microsoft\.NETFramework\Policy\v4.0';
dotNetV2DownUrl:='http://dl1sw.baidu.com/soft/9b/15910/Microsoft.NET.exe?version=585709662';
dotNetV2PackFile:='{src}\dotNetFx40_Full_x86_x64.exe';
//先在注册表查找.net4.0是否存在
if RegKeyExists(HKLM, dotNetV2RegPath) then
begin
Result := true;
end
//如果注册表里面没有发现.net4.0
else
begin
if MsgBox('系统检测到您没有安装.Net Framework4.0运行环境,是否立即安装?', mbConfirmation, MB_YESNO) = idYes then
begin
//和setup同级目录下的donet安装包
Path := ExpandConstant(dotNetV2PackFile);
//先抽取到临时目录
tmppath := ExpandConstant('{tmp}\dotNetFx40_Full_x86_x64.exe');
ExtractTemporaryFile('dotNetFx40_Full_x86_x64.exe');
msgbox(tmppath, mbConfirmation, MB_YESNO);
Exec(tmppath, '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
if(FileOrDirExists(tmppath)) then
begin
Exec(tmppath, '/q', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
if RegKeyExists(HKLM, dotNetV2RegPath) then
begin
Result := true;
end
else
begin
MsgBox('未能成功安装.Net Framework4.0运行环境,系统将无法运行,本安装程序即将退出!',mbInformation,MB_OK);
end
end
else
begin
if MsgBox('软件安装目录中没有包含.Net Framework4.0的安装程序,是否立即下载后安装?', mbConfirmation, MB_YESNO) = idYes then
begin
Path := ExpandConstant('{pf}/Internet Explorer/iexplore.exe');
Exec(Path, dotNetV2DownUrl , '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
MsgBox('请安装好.Net Framework4.0环境后,再运行本安装包程序!',mbInformation,MB_OK);
Result := false;
end
else
begin
MsgBox('不下载安装.Net Framework4.0运行环境,系统将无法运行,本安装程序即将退出!',mbInformation,MB_OK);
Result := false;
end
end
end
else
begin
MsgBox('没有安装.Net Framework2.0运行环境,系统将无法运行,本安装程序即将退出!',mbInformation,MB_OK);
Result := false;
end;
end;
end;
Inno Setup 5打包exe遇到的坑,做一个学习记录的更多相关文章
- Inno setup 简单打包教程
转自:http://blog.csdn.net/ruifangcui7758/article/details/6662646 前段时间关注了VC6.0自带的Installshield打包的使用方法,感 ...
- 使用Inno SetUp脚本打包Winform程序
在开发桌面程序时,往往需要用到打包工具将程序打包为exe可执行文件. 之前在项目中用了下 InstallShield Limited Edition for Visual Studio 2015,它 ...
- [InnoSetup]Inno Setup软件打包脚本
脚本由 Inno Setup 脚本向导 生成! ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! #define MyAppName "SFT期货交易系统&quo ...
- Inno Setup Winfrom 打包工具
1.下载并安装Inno Setup 编译器 2.安装完成后打开Inno Setup 编译器: 3.选择[用「脚本向导」创建新的脚本文件(S)]: 4.点击[下一步]: 5.填写制作后程序的基本信息: ...
- pyinstaller打包exe程序各种坑!!!
pyinstaller打包python成exe可执行程序,各种报错,各种坑,在次记录下 一.pyinstaller打包报错for real_module_name, six_moduleAttribu ...
- 分享一个自用的 Inno Setup 软件打包脚本
此脚本支持打包mysql.安装mysql服务.安装windows服务.操作ini文件.操作注册表.高效压缩文件等功能,基本能满足常用的软件打包需求. ;定义各种常量 #define MyAppName ...
- inno setup 软件打包
2017-05-26 软件开发完毕以后,要进行打包发布,有几款打包用的软件很常见:innosetup,nullsoft,installshield.本人今天终于把自己独立开发的呈现软件打了包.第一个版 ...
- exe4j 打包jar包程序,inno setup complier打包所有
关于库: jar包中对于引用第三方库的话,需要再exe4j中引用. rxtx http://rxtx.qbang.org/wiki/index.php/Download
- 使用Inno Setup 打包jdk、mysql、tomcat、webapp等为一个exe安装包(转)
之前一直都没涉及到打包安装方面的东西,都是另一个同事负责的,使用的工具(installshield)也比较高大上一点,可是后来他离职以后接受的同事也只能是在这个基础上做个简单的配置,然后打包,可是现在 ...
随机推荐
- Android开发之Eclipse与Android Studio的java类 作者版权模板
/** * 作者:${USER} on ${DATE} ${HOUR}:${MINUTE} * * 联系QQ:986945193 * * 微博:http://weibo.com/mcxiaobing ...
- Unity3d启动事件 - InitializeOnLoad
监听Unity3d启动事件 - InitializeOnLoad http://blog.csdn.net/huutu/article/details/42318499 Unity 监听第一次进入播放 ...
- Unity中的枚举和标志
译林军 宿学龙|2014-04-10 08:56|9007次浏览|Unity(377)0 枚举和标志 今天的主题是枚举,它是C#语言中的一个很有帮助的工具,可以增强代码的清晰度以及准确性. 枚举一系列 ...
- Python 利用三个简易模块熟悉前后端交互流程
准备工作 在学习Django之前,先动手撸一个简单的WEB框架来熟悉一下前后端交互的整体流程 本次用到的模块: 1.wsgiref,这是一个Python自带的模块,用于构建路由与视图 2.pymysq ...
- Mybatis源码学习第六天(核心流程分析)之Executor分析
今Executor这个类,Mybatis虽然表面是SqlSession做的增删改查,其实底层统一调用的是Executor这个接口 在这里贴一下Mybatis查询体系结构图 Executor组件分析 E ...
- 8成以上的java线程状态图都画错了,看看这个-图解java并发第二篇
本文作为图解java并发编程的第二篇,前一篇访问地址如下所示: 图解进程线程.互斥锁与信号量-看完还不懂你来打我 图形说明 在开始想写这篇文章之前,我去网上搜索了很多关于线程状态转换的图,我惊讶的发现 ...
- python pickle库
一.简介: 将文本信息转变为二进制数据流存储在一个文件中,便于下次使用. 二.常用函数: dump(object, file, protocol=None) 必填参数 obj 表示将要封装的对象 必填 ...
- 预处器的对比——Sass、LESS和Stylus
http://www.w3cplus.com/css/sass-vs-less-vs-stylus-a-preprocessor-shootout.html
- 从IL角度彻底理解回调_委托_指针
从IL角度彻底理解回调_委托_指针 目录 从IL角度彻底理解回调_委托_指针 1.创作此文的背景 1.1.委托能帮助代码更好地封装 1.2.委托能随时随地更方便地运行其他类中的方法 1.3.委托非常适 ...
- html基础:css样式1
h't'm'l中用到css样式有三种方式: 1.在header中增加style标签,在style标签中写 2.用link标签引用css样式文件 3.在需要使用css样式的标签添加style属性 一.在 ...