zoukankan      html  css  js  c++  java
  • VC制作 Windows服务 安装包

    C++跟.NET 不同,没有线程的安装程序类用来继承和操作

    所以,一些自定义的东西,之好采用VBS脚本的方式来进行

    以下转载:  http://hi.baidu.com/feng_hit/item/6eed6885bac20728110ef339

    Vc2005软件的安装部署过程--制作步骤

    1、在 Microsoft Visual Studio .NET 的“文件”菜单上,单击“新建”,然后单击“项目”。

    2、在“新建项目”对话框中,选择“其他项目类型”,再选择“安装和部署”,然后在模板中选择“安装项目”。

    3、键入 TestSetup 作为该程序的名称,然后单击确定。

    4、添加安装需要的文件:

      点击“文件系统”的“应用程序文件夹”,在右边框中点击鼠标右键,选择“添加”,选择“文件”,然后选择需要部署的文件。本例选择test.exe文件(如果该程序运行时还需要别的文件,则一起选择)。

    5、在“开始”菜单上建快捷方式:

      A、点击“文件系统”的“用户的“程序”菜单”,在右边框中点击鼠标右键,选择“添加”,选择“文件夹”,文件夹的名称为“程序员”。

      B、点击“程序员”,在右边框中点击鼠标右键,选择“创建新的快捷方式”,查找范围选择“应用程序文件夹”,选择test.exe文件,然后确定,更名为“程序员秘书”。

    6、在“桌面”建快捷方式:

      点击“用户桌面”,在右边框中点击鼠标右键,选择“创建新的快捷方式”,查找范围选择“应用程序文件夹”,选择test.exe文件,然后确定,更名为“程序员”。

    7、安装后自动运行程序:

      A、使用下面的代码创建一个 auto.vbs(auto名称可以随意) 文件:

    Set WshShell = CreateObject( "WScript.Shell ")

    WshShell.Run " " " " & Property( "CustomActionData ") & " " " ",1,False

    Set WshShell = Nothing

      B、打开安装项目并转到“自定义操作编辑器”。

      C、选择“提交”节点;右击并添加一个新的“自定义操作”。

      D、浏览文件系统以添加您在步骤 A 中创建的 auto.vbs 文件。

      E、auto.vbs属性框的“CustomActionData”属性[TARGETDIR]test.exe

    8、选择TestSetup项目,在属性框中修改,Author为“鲁勤俭”,Manufacturer为“程序员秘书开发小组”,ProductName为“程序员”,Title为“程序员”。

    10、给快捷方式添加图标:

      A、点击“文件系统”--“用户的程序菜单”--“程序员”,在右边框中点击鼠标右键,选择“属性窗口”,点击“Icon”--“浏览”,在图标对话 框中,点击“浏览”,文件类型选择“可执行文件(*.exe)”,应用程序文件夹中选择test.exe文件(注:test.exe项目编译时要选择有图 标才行,也可以直接在磁盘上选择一个图标文件),确定,如果有多个图标,选择一个图标,确定。

      B、同理给“用户桌面”的“程序员”的快捷方式添加上图标。

    11、创建卸载链接:

      A、在安装项目目录中,创建一个新的 Uninstall.bat 文件。

      B、在安装项目中,复制“ProductCode”属性(一个类似 [12345678-1234-1234-1234-123412341234] 的值)。

      C、编辑 Uninstall.bat,以便让其中一行包含以下内容(其中,ProductCode 是您在步骤 2 中复制的值):

      Msiexec /x ProductCode

      D、将 Uninstall.bat 添加到安装项目的应用程序文件夹。

      E、右击 Uninstall.bat 并选择“创建快捷方式”以创建快捷方式。

      F、将快捷方式放在安装项目中相应的“开始”菜单文件夹中。

      G、将快捷方式重命名为类似于“卸载 程序员秘书”,将属性ShowCmd设为vsdscMinimized。

    12、编译

    ~奋力追求梦想的泰坦~
  • 相关阅读:
    java8 新特性
    class类加载机制
    redis和memcache的区别
    Nginx,Apache,Tomcat区别
    java synchronized锁的理解
    java BIO,NIO在单服务器,多客户端通信上的应用
    理解spring任务调度timer,Quartz,spring task
    理解同步与异步,及java中实现同步机制的方法
    java范型的理解
    正向代理,反向代理的理解
  • 原文地址:https://www.cnblogs.com/davytitan/p/2705607.html
Copyright © 2011-2022 走看看