参考文献:

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. CTSC2018&APIO2018游记

    CTSC2018&APIO2018游记 Day 0 傍晚出发,从长沙通往帝都的软卧哟. 然而长沙某中学坐高铁比我们晚出发还早到 Day 1 为了正经地写游记我决定忍住不在博客里吐槽酒店. 午饭 ...

  2. Spark笔记之使用UDF(User Define Function)

    一.UDF介绍 UDF(User Define Function),即用户自定义函数,Spark的官方文档中没有对UDF做过多介绍,猜想可能是认为比较简单吧. 几乎所有sql数据库的实现都为用户提供了 ...

  3. 【转载】chmod命令详解

    查看linux文件的权限:ls -l 文件名称 查看linux文件夹的权限:ls -ld 文件夹名称(所在目录) 修改文件及文件夹权限: sudo chmod -(代表类型)×××(所有者)×××(组 ...

  4. 微服务架构及Eureka简介

    一.微服务架构 服务提供者.服务消费者.服务发现组件这三者之间的关系: 各个微服务在启动时,将自己的网络地址等信息注册到服务发现组件中,服务发现组件会存储这些信息. 服务消费者可从服务发现组件查询服务 ...

  5. 005_系统运维之SLA与SLO的关系

    服务水平协议(简称:SLA,全称:service level agreement)是在一定开销下为保障服务的性能和可靠性,服务提供商与用户间定义的一种双方认可的协定.通常这个开销是驱动提供服务质量的主 ...

  6. thymeleaf:字符串拼接+输出单引号

    代码: <a href="#" th:onclick="${'removeArticleImg('''+cmsImg.imgID+''')'}">删 ...

  7. java判断部署项目使用的服务器类型

    有两种方式 1.项目引入portal-kernel.jar.项目运行时使用 根据返回boolean值判断类型! 2.自己写java类 package webService.ZFGX.service; ...

  8. android之ExpandableListView 无法展开

    1.Button 对,没错,就是这个button组件,不知道出现都少次过问题,很多都是它造成的! 最常见的问题:ExpandableListView无法展开,OnItemClickListener不响 ...

  9. 详解使用 Tarjan 求 LCA 问题(图解)

    LCA问题有多种求法,例如倍增,Tarjan. 本篇博文讲解如何使用Tarjan求LCA. 如果你还不知道什么是LCA,没关系,本文会详细解释. 在本文中,因为我懒为方便理解,使用二叉树进行示范. L ...

  10. ***解决UEditor编辑器无法插入第三方视频地址

    转:http://blog.csdn.net/qq_16241043/article/details/53894847 xssFilter导致插入视频异常,编辑器在切换源码的过程中过滤掉img的_ur ...