最近一直在做cs的项目,可是从来没做过。到处百度,到处找资料。功能代码写完了,可是怎么发布安装程序呢?程序怎么自动更新呢?在这我做了一个比较粗糙的流程,来记录一下。--自动更新用的全部安装覆盖
首先,vs2010代码编写完毕,F5,生成可执行文件。选择Release,不要debug,如下图:
debug模式的执行文件会生成很多不必要的文件。具体的不一一列举。
然后,vs2010新建项目,如下图:
点击确定之后会出现“应用程序文件夹”--安装目录文件夹内容,“用户的‘程序’菜单”--开始菜单列表内容,“用户桌面”--桌面快捷方式。
1、在安装包程序创建完毕之后,在应用程序文件夹中创建你的Release中文件看看有什么?以我的项目为例,我在里面创建 DLL,JS 两个文件夹,在用户的程序菜单中创建一个名为“wdcs”的文件夹。
在dll,js中右键添加文件,把我的Release 中相应的文件都添加进去,如下图:
。然后把其他文件都添加到应用程序文件夹中,如下图:
2、然后继续在应用程序文件夹中添加msiexec.exe(这个文件主要用于卸载),添加log图片如log.ico
右键执行文件***.exe 创建快捷方式两个(修改名称),分别拖入wdcs和用户桌面中。
右键msiexec.exe创建快捷方式两个(修改为卸载),一个拖入wdcs中,一个留在原处。
右键快捷方式,--->属性窗口,在ico一栏选择相应的快捷方式图标。
右键项目名称,-->属性,
点击系统必备,
选择系统运行程序池,我这里就选中.net framework4 和Window Installer 3.1
如果客户端电脑没有相应的.net framework4 也没有网络的话 可以选中 从与我的应用用户相同位置下载系统必备组件(选择这个生成安装包的话,会相应的把.net framework4也生成出来)。如有网络或者客户端电脑版本比较高的话 就直接第一个就可以。选择无误之后点击确定。
3、点击项目名称,下面出现属性框:
Author:--->作者
InstallAllUser:--->改成true
Manufacturer:-->公司名称
ProductCode:-->程序编号比如这里是:{330F23D1-7620-4005-8A61-58D25084E972}
UpgradeCode:-->具体是什么我也不清楚。但是这个很重要。每次发不新版本的时候都记录下来吧。
Version:--->版本。很重要,自动更新的时候需要。
4、右键卸载的快捷方式:属性窗口。在Arguments一栏中输入:
/X ProductCode -----/X {330F23D1-7620-4005-8A61-58D25084E972}(空格)
到这一步。就可以直接点击我们的程序右键 进行生成安装包了。
5、但是我们还有自动更新。中间代码就不写了。我这边主要是添加了注册表信息,记录客户端机器程序的安装位置。右键项目名称--->视图--->注册表。进入注册表系统。如下图:
一般我们的安装程序都是在HKEY_LOCAL_MACHINE下的Software里。把[Manufacturer]改成自定义的名称,右键创建 字符串值(S)。
点击该信息,出现属性窗口,在value中输入 [TARGETDIR]
保存。点击生成。这次生成的**.msi安装文件,就可以自动记录用户安装程序的位置了。
6、在软件版本更新的时候,也就是发布新版本(我写一下我的操作方式)。
需要注意:
1、在代码中Properties中有个文件AssemblyInfo.cs里面有版本信息
这里需要改一下,还有上面记录的version也相应的改一下(这里我有点不太清楚是只该version就可以了,还是需要改AssemblyVersion 我是两个都改了。)
2、上次发布版本的UpgradeCode这里就有用了。需要把上次的UpgradeCode 拷贝到重新发布版本的UpgradeCode 中。这样重新覆盖安装的时候才能识别新旧版本。
以上,就是我做的简易的cs端发布安装包程序及自动更新的过程。如果大家有兴趣可以去试试。不对的地方欢迎留言!!!大家一起学习学习!!!
转载于:https://my.oschina.net/dxSR4PjWgfssK/blog/918880