Inno Setup设定只运行一个安装包】的更多相关文章

原文 http://zwkufo.blog.163.com/blog/static/25882512010292526944/?suggestedreading&wumii 在安装包中,经常会有用户点击多次安装的情况发生,即运行了多个安装文件. 而InnoSetup可以判断安装包是否在运行,并退出重复的安装包程序,从而阻止了多个安装包同时运行的情况. 下面[Code]中,InitializeSetup为系统函数,'Setup - Startup Page' 即是你安装包的WindowName(T…
大部分人第一次看到NSIS脚本都是一脸懵逼的.因为它这个脚本的结构乍一看上去就非常奇怪,不作说明的话是看不懂的. 编写脚本命令的时候要非常注意,命令要按照规定写在脚本中不同的段落里,也就是说,命令的先后顺序非常重要. 下面提供了一个标准的简单的脚本例子,使用注释说明了每个命令的具体作用,大家如果想快速上手编译出一个安装包,直接照着这个例子一行行抄就行了. # NSIS Modern User Interface# 关于 Modern 风格界面的命令和宏定义需要参考 NSIS目录下\Docs\Mo…
当在电脑中运行msi安装包时,出现the error code is 2503或者2502错误提示,其实是由于没有运行的权限导致的,但是又不能右击以管理员身份运行,那么应该如何操作呢?对于这样的问题,我们可以参考以下方法进行解决. 1.按Win+X选择"命令提示符(管理员)",或者右击命令提示符选择以管理员身份运行; 2.记住安装包的保存路径,尽量不要放桌面,因为路径会很长,因此建议可以直接保存到根目录下,比如"D:\",那么路径就是D:\python-2.7.11…
方法有很多,以下只是提供一种用的多的 一. 单文档程序 在程序App类的InitInstance中添加如下代码 BOOL CDDZApp::InitInstance() { /*只运行一个实例*/ //创建命名信标对象. HANDLE hSem = CreateSemaphore(NULL, 1, 1, "DDZ"); if (hSem) //信标对象创建成功. { //信标对象已经存在,则程序已有一个实例在运行. if (ERROR_ALREADY_EXISTS == GetLast…
VB6.0应用程序安装包的生成,利用其自带的打包工具生成的安装程序很简陋,一点不美观:如果想让自己的应用程序安装的时候显得高大上一点,本教程提供使用Setup Factory 9.0制作安装包的方法. 工具/原料 Setup Factory 9.0 VB6.0 方法/步骤  首先调试好的程序,需要加入ico图标会更美观(默认状态下应用程序的快捷方式带有VB标示,比较难看). 附:(具体加入方法)把你的程序中某个窗体加上图标 Form的ICON 属性加图标 :点工程菜单--工程属性 打开生成选项卡…
保证只运行一个应用程序的C#实现: using System;using System.Collections.Generic;using System.Linq;using System.Windows.Forms;using System.Diagnostics;using System.Reflection;using System.Runtime.InteropServices; namespace JackLib.App{    static class Program {      …
概述 有些时候,我们要求一个程序在系统中只能启动一个实例.比如,Windows自带的播放软件Windows Medea Player在Windows里就只能启动一个实例.原因很简单,如果同时启动几个实例,却播放不同的文件,那么声音和图像就会引起混乱.在设计模式中,就有一个SINGLETON模式.对于程序而言,我们只有在程序启动的时候去检测某个设置,如果程序没有启动,就把设置更新为程序已经启动,然后正常启动程序:如果程序已经启动,那么就终止程序的启动.在程序退出的时候把设置恢复为程序没有启动.按照…
要实现VC++或者MFC只运行一个程序实例,一般采用互斥量来实现,即首先用互斥量封装一个只运行一个程序实例的函数接口: HANDLE hMutex = NULL; void MainDlg::RunSingleInstance() { hMutex = CreateMutex(NULL,FALSE,TEXT("Single Instance Demo")); if (hMutex) { if(ERROR_ALREADY_EXISTS == GetLastError()) { // 已经…
原文:wpf只运行一个实例 在winform下,只运行一个实例只需这样就可以: 1. 首先要添加如下的namespace: using System.Threading; 2. 修改系统Main函数,大致如下: bool bCreatedNew; //Create a new mutex using specific mutex name Mutex m =new Mutex( false, "myUniqueName", out bCreatedNew ); if( bCreated…
  大家都看过或者使用过类似只运行一个实例的程序,比如:QQ游戏.部分浏览器 等等! 让一个程序只运行一个实例的方法有多种,但是原理都类似,也就是在程序创建后,有窗口的程序在窗口创建前, 检查系统中是否已经设置了某些特定标志,是否创建了一些全局唯一的东西,或者让程序的多个实例都能看到的东西, 如果有则说明已经有一个实例在运行了,则当前程序通知用户如何如何,然后程序退出,当然方法有很多种,各有各的优缺点!   ①.创建互斥体 Mutex 法: 但是单纯的使用互斥体的话不能取得已经创建的实例窗口局柄…