InnoSetup 使用

在进行 WPF 程序打包发布的时候如果对程序打包没有特别高的要求,InnoSetup 足以胜任普通的程序打包发布需求,它支持安装包加密,安装包升级安装,注册表操作等常规功能,以下脚本示例中有对常见操作进行相关说明。


简介

Inno Setup用Delphi写成,其官方网站同时也提供源程序免费下载。它虽不能与Installshield这类恐龙级的安装制作软件相比,但也当之无愧算是后起之秀。Inno Setup是一个免费的安装制作软件,小巧、简便、精美是其最大特点,支持pascal脚本,能快速制作出标准Windows2000风格的安装界面,足以完成一般安装任务。

示例脚本

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

; 程序名称
#define MyAppName "hippieZhou"
; 程序版本号
#define MyAppVersion "2.2.0.5"
; 发布商名称
#define MyAppPublisher "hippieZhou, Inc."
; 发布商网址
#define MyAppURL "http://www.cnblogs.com/hippieZhou"
; 执行主程序名称
#define MyAppExeName "hippieZhou.exe"
[Setup]
; 注: AppId的值为单独标识该应用程序。
; 不要为其他安装程序使用相同的AppId值。
; (生成新的GUID,点击 工具|在IDE中生成GUID。)
AppId={{5597878A-538D-4164-B06A-2DC56C9ED8EE}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\TerraVision
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
; 程序打包输出目录
OutputDir=Build\
OutputBaseFilename=setup
SetupIconFile=Application.ico
Compression=lzma
SolidCompression=yes
VersionInfoVersion={#MyAppVersion}
ArchitecturesAllowed=x64
; 以64位架构模式进行安装
ArchitecturesInstallIn64BitMode=x64
; 以管理员模式运行
PrivilegesRequired=poweruser
; 安装程序安装密码
Password=123456
; 是否加密
Encryption=yes
[Languages]
Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
; 指定主程序
Source: "Src\TerraVision.Shell.exe"; DestDir: "{app}"; Flags: ignoreversion
; 拷贝程序文件到指定目录
Source: "Src\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion”
; 检测当前程序是否在运行
[Code]
function IsAppRunning(const FileName : string): Boolean;  
var  
    FSWbemLocator: Variant;  
    FWMIService   : Variant;  
    FWbemObjectSet: Variant;  
begin  
    Result := false;  
    FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator');  
    FWMIService := FSWbemLocator.ConnectServer('', 'root\CIMV2', '', '');  
    FWbemObjectSet := FWMIService.ExecQuery(Format('SELECT Name FROM Win32_Process Where Name="%s"',[FileName]));  
    Result := (FWbemObjectSet.Count > 0);  
    FWbemObjectSet := Unassigned;  
    FWMIService := Unassigned;  
    FSWbemLocator := Unassigned;  
end;   
function InitializeSetup(): Boolean;
begin
  if IsAppRunning('hippiezhou.exe') then
  begin
    if MsgBox('程序正在运行,请先关闭后再进行安装!',mbInformation,MB_OK) = idYes then
    begin 
      Result := False;
    end
  end
  else
  begin
    Result := True;
  end
end;
[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

相关参考

转载于:https://www.cnblogs.com/hippieZhou/p/9393338.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Inno Setup是一个免费的安装程序制作工具,它可以帮助你创建Windows平台上的安装程序。学习使用Inno Setup可以按照以下步骤进行: 1. 下载和安装Inno Setup:首先,你需要从Inno Setup官方网站(http://www.jrsoftware.org/isinfo.php)下载并安装Inno Setup。 2. 学习Inno Setup的基本概念:在开始使用Inno Setup之前,建议你先了解一些基本概念,例如安装脚本、组件、任务等。你可以通过阅读Inno Setup的官方文档或者参考一些在线教程来学习这些基本概念。 3. 创建和编辑安装脚本:使用Inno Setup,你需要编写一个安装脚本来定义你的安装程序的行为。安装脚本是一个文本文件,使用Pascal脚本语言编写。你可以使用任何文本编辑器来创建和编辑安装脚本。 4. 配置安装程序的设置:在安装脚本中,你可以配置各种设置,例如安装目录、文件和文件夹的安装位置、创建快捷方式等。你可以根据自己的需求来配置这些设置。 5. 编译和测试安装程序:当你完成了安装脚本的编写和配置后,你可以使用Inno Setup的编译器来将安装脚本编译成可执行的安装程序。然后,你可以运行这个安装程序来测试你的安装程序是否按照你的预期工作。 6. 学习高级功能和技巧:除了基本的功能之外,Inno Setup还提供了许多高级功能和技巧,例如自定义对话框、自定义安装过程、添加自定义脚本等。你可以通过阅读Inno Setup的官方文档或者参考一些在线教程来学习这些高级功能和技巧。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值