zoukankan      html  css  js  c++  java
  • Inno Setup打包注意事项

    Inno Setup是一个开源的,商业的,快捷的脚本打包工具。

    具体打包流程根据界面提示就可以搞定,下面讲解几个注意事项

    1.在安装包进行安装的过程当中,很多程序都需要修改配置信息,这就要求我们在安装完成那一刻调用一个窗体程序来修改配置信息,那么这应该怎么来编写打包脚本呢?

     首先最好在编辑脚本以前就应该把修改配置文件信息的exe文件打包进入安装包,比如我们现在想调用一个WindowsFormsApplication1.exe文件,首先把它打包进入安装包,如下:

    Source: "D:C#暑假XmlDealWindowsFormsApplication1inReleaseWindowsFormsApplication1.exe"; DestDir: "{app}"; Flags: ignoreversion

    然后在[Run]段添加如下代码:

    [Run]
    Filename: "{app}WindowsFormsApplication1.exe";
    Filename: "{app}{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, "&", "&&")}}"; Flags: nowait postinstall skipifsilent

    这样就可以在程序安装成功前一刻调用该程序修改配置文件,修改成功以后,才安装完成。

    2.如何处理安装文件夹

    我们的安装文件如果文件和文件夹的路径与Debug或者Release不相同,安装的程序就无法正常运行,下面就是如何处理文件夹。

    比如一个Log文件夹下有一个LogInfo,LogError子文件夹,子文件夹有文件

    我们应该这样编辑其打包文件夹脚本。

    Source: "C:UsersG50DesktopMASMASClientinDebugLogLogError*"; DestDir: "{app}LogLogError"; Flags: ignoreversion
    Source: "C:UsersG50DesktopMASMASClientinDebugLogLogInfo*"; DestDir: "{app}LogLogInfo"; Flags: ignoreversion

    3.如何处理.net版本问题

    我们写的.net程序都有对应的.net版本,如果用户电脑没有相应的版本,程序无法正常运行,这就需要我们打包时把.net安装包打包进去,编辑好脚本,在安装时,检测用户电脑有没有对应的.net版本信息,如果有,则正常安装,否则就安装.net,安装完毕之后.net安装包自动删除。

    代码如下:

    Source: "D:dotNetFx40_Full_x86_x64.exe"; DestDir: "{tmp}"; Flags: ignoreversion

    添加[Code]段代码

    [Code]
    function CheckDotNet4_0():boolean;
    begin
    Result:=not RegKeyExists(HKLM, 'SOFTWAREMicrosoft.NETFrameworkpolicyv4.0');
    end;

    function InitializeSetup(): Boolean;
    var Path:string;
    ResultCode: Integer;
    begin
    if CheckDotNet4_0() then
    begin
    if MsgBox('系统检测到您没有安装.Net Framework4.0,是否立刻下载并安装?', mbConfirmation, MB_YESNO) = idYes then
    begin
    ExtractTemporaryFile('dotNetFx40_Full_x86_x64.exe');
    Exec(ExpandConstant('{tmp}dotNetFx40_Full_x86_x64.exe'), '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
    Result := true;
    end
    else
    begin
    MsgBox('没有安装.Net Framework4.0环境,无法运行【XX】程序,本安装程序即将退出!',mbInformation,MB_OK);
    Result := false;
    end;
    end
    else
    begin
    Result := true;
    end;
    end;

  • 相关阅读:
    Ubuntu adb device
    ubuntu系统下创建软件桌面快捷方式
    Ubuntu 配置java环境变量
    Ubuntu 12.04 安装Chrome步骤
    java和php中static+final+synchronized 总结
    Sensor Hub 初探
    Ionic+PhoneGap+ Cordova
    Ionic初探 + 混合app的尝试
    ubuntu+dpkg+apt-get+aptitude 区别
    ubuntu下桌面系统及切换gdm+kdm+lightdm
  • 原文地址:https://www.cnblogs.com/Huaran1chendu/p/4883064.html
Copyright © 2011-2022 走看看