如何在Windows Installer的Custom Action中Sleep

原创 2011年01月17日 17:22:00

项目终于接近尾声,马上就要打包发布了。所以最近在研究Wix 3.5。Wix是一个Free的全脚本打包工具,是和MSI的每个指令一一对应的,所以比较原始,如果你不想很深入的研究MSI,那么你就去用Installer Sheild,这个工具够傻瓜,并且把MSI里面的细节都封装好了,只需按照向导就可以完成打包。

如果你感觉Installer Sheild还是复杂,那就用VS自带的打包工程,这个就更傻瓜了。

如果你想免费,又想精确控制每个安装步骤,并且想在安装完毕后执行些脚本,那么选择WIX 准没错。

我们的产品就是如此,安装比较复杂,并且安装完毕后还要执行一些VBS,所以我们选择了Wix

安装完Wix Visual Studio插件以后,就可以在Windows里面直接编译Wix项目了,其实Wix项目文件就是一个xml文件,说的编译,其实就是针对这个xml文件分析,然后生成MSI文件。

这里就不深入介绍如何编写这个WIX的XML文件啦,我想在这里介绍一个小发现,我先描述一下项目的需求:

1,安装

2,安装完毕后,执行一个脚本,

3,如果是XP系统,需要在脚本内Sleep 3000,然后继续执行

结果发现WIX不支持Sleep,具体的说是因为Custom Action不支持,所以无法Sleep。

在国内外找了一个小时,大家都在抱怨这个问题,但是没什么好的解决方案,其中一个workround是再写一个VBS,然后在Custom Action里面用Wshell.run "sleep.vbs",0, true,来调用。

但是要为此多增加一个vbs到安装包中,感觉很不爽,那有没有更好的方法呢,于是就想有没有Wshell.run "cmd /c xxx", 0, true之类的指令呢?

无意中发现可以通过Ping来解决,其实原理就是ping自己,每次ping的时间间隔大概是1秒所有,加入

 

WshShell.Run "cmd /c ping -n 3 -w 1000 127.0.0.1 >NUL", 0, True

 

打包,运行,没问题!

在看一下ping的参数,-n 3代表的是ping 3次, -w 1000代表是每次ping 的timeout时间, 这样就能让安装程序在这里停上3秒

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

How_To_Custom_Installer

  • 2010-05-03 01:31
  • 265KB
  • 下载

解决Windows Installer 无法打开此修补程序包的问题

症状 当您首次尝试安装 Microsoft Office 程序或运行某个 Office 程序时,可能收到一条错误消息。如果您是通过 Administrator 用户帐户登录计算机的,可能收到下面的错...

How to Interpret Windows Installer Logs

If you have a problem with the Windows Installer or an MSI package you're installing, it's a sure be...
  • snlei
  • snlei
  • 2011-09-21 16:46
  • 758

Tips of Windows Installer

最近做安装文件,尽管msdn上有完备的Setup project的介绍,但有些tips需要牢记: 前提:建立好Setup Project 1. 添加项目的时候,可以添加为同个sln下的其它proj...

使用Advanced Installer 13.1打包发布 Windows Service服务程序

项目中需要用到一个定时推送案件状态的需求,本人小菜一只,在同事建议下要写成一个windows服务程序。由于之前没有涉猎过这方面的知识,所以在查阅资料与同事的帮助之下,艰难的推进。首先怎么新建与调试wi...

jbpm-6.3.0.Final-installer-full在Windows上的部署、数据库由H2切换为MySql、Linux上的部署全过程

jbpm-6.3.0.Final-installer-full在Windows上的部署、数据库由H2切换为MySQL、Linux上的部署全过程 Andy 2016-4 前提: 1,从官网...

myeclipse-2015-stable-2.0-offline-installer-windows下载和破解说明

myeclipse-2015-stable-2.0-offline-installer-windows下载和破解说明,myeclipse-2015-stable-2.0-offline-install...

MyEclipse 9.0 正式版破解( myeclipse-9.0-offline-installer-windows.exe)

1、破解公钥,确保MyEclipse没有开启,否则失败!用WinRAR或7-zip打开D:/Program Files/Genuitec/Common/plugins/com.genuitec.ecl...

使用Microsoft Web Platform Installer在windows平台搭建IIS+PHP+MySQL开发环境

 Microsoft Web Platform Installer 下载地址:http://www.microsoft.com/web/downloads/platform.aspx IIS建...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)