DMOZ中文网站分类目录-免费收录各类优秀网站的中文网站目录.
  • DmozDir.org
DMOZ目录快速登录入口-免费收录各类优秀网站的中文网站目录.由人工编辑,并提供网站分类目录检索及地区分类目录检索,是站长免费推广网站的有力平台!

Inno Setup 5打包exe遇到的坑,做一个学习记录

  • Inno Setup 5打包exe遇到的坑,做一个学习记录

  • 已被浏览: 116 次2020年10月09日    来源:  https://www.cnblogs.com/wx18638101223/p/13784697.html
  • ; 脚本由 Inno Setup 脚本向导 生成!; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!#define MyAppName "人员管理系统"#define MyAppVersion "1.0"#define

    ; 脚本由 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;

     


    以上信息来源于网络,如有侵权,请联系站长删除。

    TAG:做一个 Inno Setup exe

  • 上一篇:道格拉斯Crockford的:JavaScript的Doesna€?吨吸
  • 与“Inno Setup 5打包exe遇到的坑,做一个学习记录”相关的资讯
  • 尝试做一个.NET模板填充导出Excel工具 MiniExcel Template
  • 做一个官网需要多长时间
  • 做一个公司微商城,微信小程序好和第三方微商城平台哪一个比较方便、用户体验比较好?
  • 亲测有效,解决80端口被svchost.exe进程占用的问题,网上的方法不行,可以试试这个
  • Python脚本打包成exe执行文件