Inno Setup设定只运行一个安装包

简介: 原文 http://zwkufo.blog.163.com/blog/static/25882512010292526944/?suggestedreading&wumii 在安装包中,经常会有用户点击多次安装的情况发生,即运行了多个安装文件。

原文 http://zwkufo.blog.163.com/blog/static/25882512010292526944/?suggestedreading&wumii

在安装包中,经常会有用户点击多次安装的情况发生,即运行了多个安装文件。

而InnoSetup可以判断安装包是否在运行,并退出重复的安装包程序,从而阻止了多个安装包同时运行的情况。

下面【Code】中,InitializeSetup为系统函数,'Setup - Startup Page' 即是你安装包的WindowName(Title),或者也可以用Window Spy之类的软件获取。

Inno Setup设定只运行一个安装包 - 乂乂 - 一个人,一支烟  ·~~

[Code]
function InitializeSetup(): boolean;
var
  SetupRunning: Integer;
begin
  result := true;
  SetupRunning:=FindWindowByWindowName('Setup - Startup Page');
  while SetupRunning<>0 do
  begin
    if Msgbox('The "Startup Page" Setup program is already running....', mbInformation, MB_OK) = IDOK then
      begin
        result := false;
        SetupRunning := 0;
      end else begin
        result := true;
        SetupRunning:=FindWindowByWindowName('Setup - Startup Page');
      end;
  end;
  end;

目录
相关文章
|
3月前
inno setup打包软件学习
如何使用Inno Setup打包软件,包括打包结果的展示、示例打包脚本的提供、常见错误的解决方法,以及参考资料的链接。文中详细解释了解决“另一个程序正在使用此文件”和“桌面图标无法修改”等问题的方法,以及如何正确设置打包脚本中的文件路径和图标。
119 0
inno setup打包软件学习
|
Windows
“inno setup打包,win7下安装没有桌面快捷方式,xp下安装正常”
修改桌面的快捷键为选中就行了:Flags: checkablealone;在[Tasks]下面修改代码如下:Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIco...
1114 0
|
Windows 数据安全/隐私保护 C++
C/S打包 客户端/windows程序 Inno Setup
之前介绍过InstallShield打包工具,本文再介绍更加方便的打包工具Inno Setup Inno Setup相对来说,比InstallShield更容易使用,不需要在VS中创建项目,只要提供Debug或者Release包就行。
1075 0
制作部署安装包:Inno Setup
原文:制作部署安装包:Inno Setup 前一篇尝试Office 2003 VSTO的开发、部署有提到用VS开发一个简单的VSTO程序。打包C/S程序,我首先想到的是VS里自带的Setup Project。
1344 0
|
C语言
Inno setup中定制安装路径
原文:Inno setup中定制安装路径 我的程序修改了安装界面,所以我的界面中提供了更改安装路径的方法。 用户修改后的路径会被传回inno setup脚本,脚本中需要做的事情如下: 1,写一个函数,来返回新的安装路径,如: function MyDestDir(SubDir:String):...
1853 0
一个比较完整的Inno Setup 安装脚本
原文:一个比较完整的Inno Setup 安装脚本 增加了对ini文件设置的功能,一个安装包常用的功能都具备了。 [Setup]; 注: AppId的值为单独标识该应用程序。; 不要为其他安装程序使用相同的AppId值。
1630 0
Inno setup定制安装界面
原文:Inno setup定制安装界面 Innosetup功能很强大,可以通过它提供的Wizard接口来定制界面,但我对PASCAL语言不熟悉,也不清楚通过那种接口可改动的范围有多大,最后做出来的效果是否好,所以选择了通过一个DLL来实现我的界面。
2426 0