参考文献:

bat脚本设置文件的只读属性:http://wenda.tianya.cn/question/0f484c28ffd8d4e9

bat脚本创建internet快捷方式:http://www.cnblogs.com/gszhl/archive/2009/04/23/1441753.html

winrar自解压教程:http://wenku.baidu.com/view/86d22821192e45361066f5fc.html

背景

还是继续之前的问题,我通过IE内嵌google chrome frame解决浏览器兼容问题里面的方案,解决了客户IE8浏览器访问使用svg制作的网站以后,客户又提出新的需求。客户要求在安装完这个google chrome frame以后,能够自动在桌面创建快捷方式,下次再访问系统就不要再输入网址了。

解决方法

这就涉及到安装包的知识,但是我之前从来没有做过安装包,对于这个需求比较没有低。后来在群里问了一下人,有一个朋友说使用winrar自解压技术,这里这是感谢这位朋友的指点,为我指明了方向,省了我很多工夫。真是”知道有什么,比知道是什么“牛逼的多啊。

google搜索”winrar自解压“相关的内容,大体知道了这事一个什么东西。这个能够帮我们将多个文件打包成.exe文件,然后通过设置,将所有文件解压到指定目录,并且在解压前和解压后执行特定的程序。所有我设计思路是这样的。

  1. 将GoogleChromeframeStandaloneEnterprise.msi、一个bat脚本还有internet快捷方式图标打包
  2. 在执行最后的打包程序以后,会将这三个文件解压缩到"C:\Program Files"目录下
  3. 自动执行GoogleChromeframeStandaloneEnterprise.msi和bat脚本,前者是安装google chrome frame,后者是创建一个只读模式的“internet快捷方式”。为什么只读是因为测试发现我在google chrome frame安装完毕之前点击这个快捷方式,快捷方式的内容会被修改,真是奇怪。
  4. 在压缩包里面放ico是为了让桌面快捷方式连接到这个图标。

我的bat脚本如下。前面是创建快捷方式,并且制定图标logo所对应的图片,最后为这个文件设定只读权限。下面的内容之所以有两段,是因为区分windows 2003跟windows 2008的区别。

在xp和windows server 2003当中,桌面的物理地址就是桌面,而在windows server 2008和windows 7当中,桌面的物理地址是Desktop。为了应对多系统的问题,我干脆两个都写上,反正没有路径的话,就执行失败,不影响结果。

@echo off
echo [InternetShortcut] >> "%userprofile%\桌面\xx系统.url"
echo URL="http://192.168.0.3:8080/abc/">> "%userprofile%\桌面\xx系统.url"
echo IDList=
echo HotKey=
echo IconIndex= >>"%userprofile%\桌面\xx系统.url"
echo IconFile=C:\Program Files\googlechromeframe\favicon.ico >>"%userprofile%\桌面\xx系统.url"
attrib +r %userprofile%\桌面\xx系统.url echo [InternetShortcut] > "%userprofile%\Desktop\xx系统.url"
echo URL="http://192.168.0.3:8080/abc/">> "%userprofile%\Desktop\xx系统.url"
echo IDList=
echo HotKey=
echo IconIndex= >>"%userprofile%\Desktop\xx系统.url"
echo IconFile=C:\Program Files\googlechromeframe\favicon.ico >>"%userprofile%\Desktop\xx系统.url"
attrib +r %userprofile%\Desktop\xx系统.url

操作过程

使用winrar自解压功能制作安装包的更多相关文章

  1. VS 制作安装包小窥

    难得忙里偷闲,看到有关VS制作安装包,按下文小试一把,还行,比不上Installshield. 首先在打开 VS2010    >   文件 >新建项目 创建一个安装项目  XXX 在“目 ...

  2. [转载]如何用Visual Studio制作安装包

    原文地址:如何用Visual Studio制作安装包作者:蓝羽幽游 环境:Microsoft Visual Studio 2010 语言:C# 构架:.NET Framework 2.0 解决方案名称 ...

  3. 利用WIX制作安装包(2)

    原文 利用WIX制作安装包(2) 这一篇文章将为大家介绍如何使用WIX自定义UI.上一篇文章我们讲过WIX为我们提供了五种安装界面.每种安装界面都是由不同的Dialog组成.在这里我们挑选一种比较常用 ...

  4. 利用WIX制作安装包(1)

    原文 利用WIX制作安装包(1) #installation 下载最新版本的WIX toolset 并安装DOWNLOAD Wix toolset V3.5之后的版本已经可以集成到visual stu ...

  5. 循序渐进做项目系列(5):制作安装包,谁人都可以!——VS制作安装包简明教程

    一开始让我做安装包的时候,其实我是拒绝的.因为我根本就不会做安装包.查了资料之后,我很懵,很晕,很乱,因为不清晰,不简明,不直白.然而经过一番彷徨的挣扎,我终于发现:制作安装包,谁人都可以!故挥狼毫, ...

  6. 使用Qt installer framework制作安装包

    一.介绍 使用Qt库开发的应用程序,一般有两种发布方式:(1)静态编译发布.这种方式使得程序在编译的时候会将Qt核心库全部编译到一个可执行文件中.其优势是简单单一,所有的依赖库都集中在一起,其缺点也很 ...

  7. 【原创】VB6.0应用程序安装包的生成(Setup Factory 9.0制作安装包的方法)

    VB6.0应用程序安装包的生成,利用其自带的打包工具生成的安装程序很简陋,一点不美观:如果想让自己的应用程序安装的时候显得高大上一点,本教程提供使用Setup Factory 9.0制作安装包的方法. ...

  8. vs2015 制作安装包额外需要安装的软件VSI_bundle

    vs2015 制作安装包额外需要安装的软件VSI_bundle 下载地址:http://files.cnblogs.com/files/sdner/VSI_bundle.rar

  9. Wix制作安装包

    Wix制作安装包,找起资料来很费劲,记录一下: Product.wxs,该文件只能制作出msi形式的安装包,不能做到自动检测framework. <?xml version="1.0& ...

随机推荐

  1. PHP扩展开发--编写一个helloWorld扩展

    为什么要用C扩展 C是静态编译的,执行效率比PHP代码高很多.同样的运算代码,使用C来开发,性能会比PHP要提升数百倍. 另外C扩展是在进程启动时加载的,PHP代码只能操作Request生命周期的数据 ...

  2. SpringBoot框架的权限管理系统

    springBoot框架的权限管理系统,支持操作权限和数据权限,后端采用springBoot,MyBatis,Shiro,前端使用adminLTE,Vue.js,bootstrap-table.tre ...

  3. mybatis入门程序-(二)

    1. 添加配置文件 log4j.properties # Global logging configuration #开发环境下日志级别设置成DEBUG,生产环境设置成info或者error log4 ...

  4. oracle任务job

    1)创建测试表 1 create table test1(a date); 2)创建存储过程 1 2 3 4 5 create or replace procedure myproc as begin ...

  5. FFT(快速傅里叶变换)摘要

    怎么说呢...这次的代码码风有点... 从这篇博客开始,我终于会用LATEX了!撒花 注:以下涉及多项式的n均表示多项式的次数 FFT用途 很简单,多项式相乘. FFT原理 如果暴力乘,复杂度是$O( ...

  6. java中URL 的编码和解码函数

    java中URL 的编码和解码函数java.net.URLEncoder.encode(String s)和java.net.URLDecoder.decode(String s);在javascri ...

  7. Android实现手机摄像头的自动对焦

    如何实现Android相机的自动对焦,而且是连续自动对焦的.当然直接调用系统相机就不用说了,那个很简单的.下面我们主要来看看如如何自己实现一个相机,并且实现自动连续对焦. 代码如下: public c ...

  8. SQL Server 4

    一.视图 1.创建视图 1)选中数据库中的表中的视图处,右键选择新建视图,即: 2)在弹出“添加表”对话框中,单击“表”标签,选择要添加的表,点击添加,即: 3)选中要建立联系的列名的复选框,然后拖动 ...

  9. qString转char*

    char *vi_name = new char[vi_rsc_name.length()]; strcpy(vi_name,vi_rsc_name.toStdString().data()); de ...

  10. fpm制作rpm包

    一.前言 在企业中我们有事安装软件包.部分都是源码安装,如nginx安装路径都已经固化了,但实际业务中,我们都是把软件包安装到固定目录下,不满足需要,这是其一.其二,编译安装很耗时,比如mysql,特 ...