最近搞这个遇到很多问题,其实我就需要很简单的打包功能 ,就是直接打包安装, 如果有新版本打开让他自己下载然后安装会覆盖或者能删除原来那个。
因为功能比较少 我们只是买的功能最少的版本 Express 版 , 这个版本功能会少很多 ,只有最简单的功能 ,但是从需求上也够用 。
当时查了些资料 ,大多数都是 msi 工程版本的 ,没有Express 版的 。 就自己查询原因 ,
但是关于更新的问题上我纠结了很久。
情况是这样的:
这个版本直接release 出来的singleimage 版本的程序 ,我想做更新,遇到这样的情况
1. 如果build 时候 ,更换 product code windows 会视为两个应用程序 , 连续安装会出现安装两个的情况 ,如果是安装同一个文件夹 ,会出现 安装没效果 ,打开还是第一个的情况 ,但是你在add/remove 里面会发现 ,其实是安装了两个 ,这样肯定不行 。
2. 如果是不更换,product code release 出来安装第二个的时候 会弹出下面的对话框 ,让你到 add/remove 去卸载 ,在安装 。这样虽然也可以 ,但是和需求还是有些出入,交互上不是很好。
3. 找了很久 ,终于找到了根源 ,在 release 的Express 上面有这么一个属性。
Generate Page Code ,有yes 和 no 两个选项 。上面是这个说的 ,简单来说 yes 就是说每次build 都会从新生成一个 pageage code ,这样的话就会是打出来的包和以前的没关系 ,所以window 发现有个 produce code 的情况下就会出现上面的对话框 ,只要上面随便生成一个 code 然后Generate Page Code 选项选择 no ,
在第二次安装就会出现这样的情况。
这样就得到我想要的结果了。