zoukankan      html  css  js  c++  java
  • Inno Setup 打包工具总结

    Inno Setup 打包工具总结

    分类: Install Setup

    最近打包用到了Inno setup,在这个过程中容易犯一些低级错误,特别写出来已提醒自己

    1.打包文件夹

    Source: "D:MyProject/XX/*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

    它解压时直接把XX目录下的所以文件拷贝到安装目录下,而没有生成XX目录,程序如果要引用XX目录下的文件就会出现错误。

    我改成这样就不会有事了(也许向导可以生成,我还不清楚)

    Source: "D:MyProject/XX/*"; DestDir: "{app}/XX"; Flags: ignoreversion recursesubdirs createallsubdirs  

    2.桌面图标

    向导默认生成的代码不会给你的应用程序加上图标,同时也不会在开始程序菜单里加上卸载程序的快捷方式

    1 Name: "{group}/XX"; Filename: "{app}/XX.exe" 
    2 Name: "{group}/{cm:UninstallProgram,XX}"; Filename: "{uninstallexe}" 
    3 Name: "{commondesktop}/XX"; Filename: "{app}/XX.exe";IconFileName:"{app}/res/XX.ico"; Tasks: desktopicon

    在Icons下添加这些代码就可以做到。

    3.安装程序时要注册某些ocx控件或DLL

    我自己的做法是些一个bat脚本来注册ocx或者dll,放在自动Run下,在程序运行之前运行它。当然Inno setup里面也有这样的脚本代码

    4.如果程序运行需要一些组件支持,比如.NetFrameWork,在解压时就要检测系统是否安装了.NetFrameWork

     1 [code] 
     2 function CheckDotNet4_0():boolean; 
     3 begin 
     4 Result:=not RegKeyExists(HKLM, 'SOFTWARE/Microsoft/.NETFramework/policy/v4.0'); 
     5 end; 
     6 
     7 function InitializeSetup(): Boolean; 
     8 var Path:string; 
     9 ResultCode: Integer; 
    10 begin 
    11 if CheckDotNet4_0() then 
    12 begin 
    13 ExtractTemporaryFile('dotNetFx40_Full_x86_x64.exe'); 
    14 Exec(ExpandConstant('{tmp}/dotNetFx40_Full_x86_x64.exe'), '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode); 
    15 end 
    16 end; 
  • 相关阅读:
    c++ cout、cin、endl
    c++ namespace
    找到小镇的法官
    整数反转
    c++stack类的用法
    栈应用:最小栈(第二题)
    栈的压入、弹出序列(第一题)
    c++中vector类的用法
    Android 面试常问七道题
    传感器实现仿微信摇一摇功能
  • 原文地址:https://www.cnblogs.com/joean/p/4843129.html
Copyright © 2011-2022 走看看