VS打包发布安装程序及自动更新

时间:2024-03-30 21:36:35

        最近一直在做cs的项目,可是从来没做过。到处百度,到处找资料。功能代码写完了,可是怎么发布安装程序呢?程序怎么自动更新呢?在这我做了一个比较粗糙的流程,来记录一下。--自动更新用的全部安装覆盖

        首先,vs2010代码编写完毕,F5,生成可执行文件。选择Release,不要debug,如下图:

VS2010打包发布安装程序及自动更新

debug模式的执行文件会生成很多不必要的文件。具体的不一一列举。

        然后,vs2010新建项目,如下图:

VS2010打包发布安装程序及自动更新

点击确定之后会出现“应用程序文件夹”--安装目录文件夹内容,“用户的‘程序’菜单”--开始菜单列表内容,“用户桌面”--桌面快捷方式。

 1、在安装包程序创建完毕之后,在应用程序文件夹中创建你的Release中文件看看有什么?以我的项目为例,我在里面创建 DLL,JS 两个文件夹,在用户的程序菜单中创建一个名为“wdcs”的文件夹。

在dll,js中右键添加文件,把我的Release 中相应的文件都添加进去,如下图:

VS2010打包发布安装程序及自动更新VS2010打包发布安装程序及自动更新

。然后把其他文件都添加到应用程序文件夹中,如下图:

VS2010打包发布安装程序及自动更新

2、然后继续在应用程序文件夹中添加msiexec.exe(这个文件主要用于卸载),添加log图片如log.ico

    右键执行文件***.exe 创建快捷方式两个(修改名称),分别拖入wdcs和用户桌面中。

    右键msiexec.exe创建快捷方式两个(修改为卸载),一个拖入wdcs中,一个留在原处。

    右键快捷方式,--->属性窗口,在ico一栏选择相应的快捷方式图标。

    右键项目名称,-->属性,

VS2010打包发布安装程序及自动更新

点击系统必备,VS2010打包发布安装程序及自动更新

选择系统运行程序池,我这里就选中.net framework4 和Window Installer 3.1

如果客户端电脑没有相应的.net framework4 也没有网络的话 可以选中 从与我的应用用户相同位置下载系统必备组件(选择这个生成安装包的话,会相应的把.net framework4也生成出来)。如有网络或者客户端电脑版本比较高的话 就直接第一个就可以。选择无误之后点击确定。

3、点击项目名称,下面出现属性框:

VS2010打包发布安装程序及自动更新

 Author:--->作者

InstallAllUser:--->改成true

Manufacturer:-->公司名称

ProductCode:-->程序编号比如这里是:{330F23D1-7620-4005-8A61-58D25084E972}

UpgradeCode:-->具体是什么我也不清楚。但是这个很重要。每次发不新版本的时候都记录下来吧。

Version:--->版本。很重要,自动更新的时候需要。

4、右键卸载的快捷方式:属性窗口。在Arguments一栏中输入:

    /X ProductCode  -----/X {330F23D1-7620-4005-8A61-58D25084E972}(空格)

到这一步。就可以直接点击我们的程序右键 进行生成安装包了。

5、但是我们还有自动更新。中间代码就不写了。我这边主要是添加了注册表信息,记录客户端机器程序的安装位置。右键项目名称--->视图--->注册表。进入注册表系统。如下图:

VS2010打包发布安装程序及自动更新

一般我们的安装程序都是在HKEY_LOCAL_MACHINE下的Software里。把[Manufacturer]改成自定义的名称,右键创建  字符串值(S)。

VS2010打包发布安装程序及自动更新

点击该信息,出现属性窗口,在value中输入 [TARGETDIR]

VS2010打包发布安装程序及自动更新

保存。点击生成。这次生成的**.msi安装文件,就可以自动记录用户安装程序的位置了。

6、在软件版本更新的时候,也就是发布新版本(我写一下我的操作方式)。

    需要注意:

    1、在代码中Properties中有个文件AssemblyInfo.cs里面有版本信息   VS2010打包发布安装程序及自动更新

这里需要改一下,还有上面记录的version也相应的改一下(这里我有点不太清楚是只该version就可以了,还是需要改AssemblyVersion  我是两个都改了。

            2、上次发布版本的UpgradeCode这里就有用了。需要把上次的UpgradeCode  拷贝到重新发布版本的UpgradeCode 中。这样重新覆盖安装的时候才能识别新旧版本。

以上,就是我做的简易的cs端发布安装包程序及自动更新的过程。如果大家有兴趣可以去试试。不对的地方欢迎留言!!!大家一起学习学习!!!

 

 

转载于:https://my.oschina.net/dxSR4PjWgfssK/blog/918880