InnoSetup打包exe安装应用程序,并添加卸载图标 转

http://blog.csdn.net/guoquanyou/article/details/7445773

InnoSetup真是一个非常棒的工具.给我的印象就是非常的精干.所以,该工具已经一步步的把我的InstallerVise代替了.InnoSetup最棒的在于他的脚本语言,完全的pascal语法,你可以在学习他的时候省去很多麻烦.
用InnoSetup的wizard已经可以完成很多的工作了,但是并不是十全十美.许多地方要你自己订定,这就用到脚本了.

默认的打包好的程序在程序菜单中没有卸载图标,这一点很不爽.你要卸载程序要通过添加/删除程序来完成,这太麻烦了.其实只需要几步就可以完成这一工作.

; 脚本由 Inno Setup 脚本向导 生成!
; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!

#define MyAppName "青岛招聘网"
#define MyAppVersion "1.5"
#define MyAppPublisher "青岛招聘网"
#define MyAppURL "http://www.qk12333.com/"
#define MyAppExeName "Client.exe"

[Setup]
; 注: AppId的值为单独标识该应用程序。
; 不要为其他安装程序使用相同的AppId值。
; (生成新的GUID,点击 工具|在IDE中生成GUID。)
AppId={{E8EA32EC-AE79-4184-A374-4356A6BDBC16}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
Uninstallable=yes
UninstallDisplayName=卸载{#MyAppName}

[Languages]
Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1

[Files]
Source: "C:\Client.root\Client\bin\Debug\Client.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Client.root\Client\bin\Debug\AxInterop.WMPLib.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Client.root\Client\bin\Debug\Client.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Client.root\Client\bin\Debug\Client.pdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Client.root\Client\bin\Debug\Interop.WMPLib.dll"; DestDir: "{app}"; Flags: ignoreversion
; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion”
[code]
  function InitializeSetup: Boolean;
  var Isbl: boolean;         //声明变量
    var Isstr: string;
    //全局变量
    var MyProgChecked: Boolean;
  var Path:string ;
         ResultCode: Integer;
  begin
    if RegKeyExists(HKLM, ‘SOFTWARE\Microsoft\.NETFramework\policy\v2.0‘) then
      begin
         Result := true;
     end
    else
      begin
        if MsgBox(‘系统检测到您没有安装.Net Framework2.0,是否立刻下载并安装?‘, mbConfirmation, MB_YESNO) = idYes then
          begin
               Path := ExpandConstant(‘{pf}\Internet Explorer\iexplore.exe‘);
               Exec(Path, ‘http://data.zhiluo.net/soft/Microsoft_DotNet2.0.rar‘, ‘‘ , SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
               MsgBox(‘请安装好.Net Framework2.0环境后,再运行本安装包程序!‘,mbInformation,MB_OK);
               Result := false;
           end
        else
           begin
               MsgBox(‘没有安装.Net Framework2.0环境,无法运行程序,本安装程序即将退出!‘,mbInformation,MB_OK);
               Result := false;
           end;
      end;

begin       //开始
        Isbl := true;             //变量赋值  注意下方的“SOFTWARE\IT_soft”要与安装时创建的注册表信息一致
        Isstr := ‘欢迎‘;
        if RegValueExists(HKEY_LOCAL_MACHINE, ‘SOFTWARE\IT_soft‘, ‘config‘) then
          begin
            MsgBox(‘软件已安装过,如果需要重新安装,请先卸载再安装!‘,mbConfirmation, MB_OK);
            isbl := false;
          end
        else
          begin
          //MsgBox(‘无值‘,mbConfirmation, MB_OK);
          isbl := true;
          end;
          Result := Isbl;
      end;       //结束
  end;

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{group}\卸载 {#MyAppName}"; Filename: "{uninstallexe}"

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

时间: 2024-10-05 23:46:19

InnoSetup打包exe安装应用程序,并添加卸载图标 转的相关文章

Ubuntu下查看安装的程序,以及卸载方法

在终端下通过如下命令查看安装的程序 $ dpkg -l 以"wiznote"为例 $ dpkg -l | grep "wiznote" 然后卸载 $ sudo dkpg --perge xxxx

帮同事写了几行代码,在安装/下载程序里注册/卸载OCX控件

写了个小控制台程序,这个程序用来注册 / 卸载OCX控件,用在Inno Setup做的安装卸载程序里. #include "stdafx.h" #include <windows.h> #include <iostream> using std::cout; using std::endl; using std::cerr; int _tmain(int argc, _TCHAR* argv[]) { __try { STARTUPINFO si1 = {siz

Linux(ubuntu)下手动安装 firefox 6 并且添加快捷方式图标

Mozilla 正式发布了Firefox 6,如果你的电脑上还在用非常古老的版本么,赶紧过来更新下吧,由于官网上面只是提供了linux下的.bz2的压缩包,没有deb或者rmp格式,所以需要自己安装下. 下面以我的操作系统:  Ubuntu 10.10, 版本firefox 3.6.22 为例说明下: 首先去官网下个最新版下来,附链接http://www.firefox.com.cn/download/,是一个.tar.bz2的压缩包,放在主目录下: 1.先删除旧版的firefox:sudo a

Innosetup打包自动下载.net framework 动态库及替换卸载程序图标.

背景     在使用了一段时间微软自带的安装包打包工具后,总感觉不太顺利,于是便想着找一种更简单稳定的打包工具,这类工具其实还不少,最终经过各种考量,我们选择了 InnoSetup ,该工具是一个完全免费的Windows打包工具,涉及的功能比较全面,并且采用脚本式编辑,完美支持 Pascal 语言.本文简单描述一下如何自动下载安装 .net framework 框架 及更新卸图标的小技巧,当然本文部分内容借鉴了网上一部分的解决方案.在此整理一下已备忘同时分享给有类似需求的朋友. 放几张安装过程中

使用InnoSetup打包安装程序

在C++项目编译完成后,会生成一个.exe文件,还有一些图标.动态链接库等文件,比如.ico..dll.可以使用InnoSetup这些文件打包成一个setup.exe. 详细步骤如下: 1. 打开Inno Setup,点击工具栏上的[文件]/ 新建–>[下一步],如图(1)所示: 图(1) 使用Inno Setup脚本向导 2. 设置打包后的应用程序名称.版本.发布者和应用程序网址,如图(2)所示: 应用程序名称:MySoftWare 应用程序版本:1.0 应用程序发布者: (可不填) 应用程序

python 自动化打包程序exe安装文件

需求: 实现自动化打包exe 项目说明: 引擎cocos-js 3.16版 打包流程说明: 初始化项目Sln -> 编译C++工程 -> 压缩图片资源 -> js转化jsc -> 删除VS生成多余文件 -> 加密 -> 删除jsc -> 生成exe安装包 环境变量: 因为需要使用vs工具的环境变量初始化批处理.这里配置vs安装路径(具体到Tools)到环境变量path(D:\xxx\Common7\Tools) (或者python自己获取) 依赖工具: InnoS

VS2010安装项目程序打包操作详解

1.打开VS2010,选择 新建项目---其他项目类型---Visual Studio Installer----安装项目 这是在VS2010中将有三个文件夹, 1.“应用程序文件夹”表示要安装的应用程序需要添加的文件: 2.“用户的‘程序’菜单”表示:应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序.exe和卸载程序.exe: 3.“用户桌面”表示:这个应用程序安装完,用户的桌面上的创建的.exe快捷方式. 2.在应用程序文件夹,点击右

install4j 工具为java程序打包exe

用 install4j 工具为java程序打包exe 制作人:mark 制作时间:2013-05-02 ? 用Eclipse 将程序源码打包成jar文件. 打包jar方法我不做介绍了,相信大家都会,不会的百度一下吧. 准备工作. 将导出的jar包:aaa.jar,程序需要的图片:images,数据库database,以及你要生成exe文件后的图标 png图片,全部复制到一个SMMS文件夹下面. 打开安装好的install4j文件 输入程序全名Full Name,程序简称 Short Name,

vs2010打包发布安装程序(超全超详细,两种方法)

方法一: 使用安装向导 VS2010打包发布安装卸载教程 VS2010打包发布安装卸载教程 VS2010打包发布安装卸载教程 选择你的开发项目↓ VS2010打包发布安装卸载教程 选择你项目中bin/Debug下的主程序,点击“添加”按钮↓ VS2010打包发布安装卸载教程 VS2010打包发布安装卸载教程 把需要创建程序快捷方式的图标也添加进来:后缀名为:ico(从这里开始向下,方法一和方法二的设置都一样了) VS2010打包发布安装卸载教程 3. 在创建的项目名称(Setup1)上点击右键: