VS2008 打包可覆盖安装包 一、新建安装项目
二、在文件系统中添加文件夹、项目输出、以及你的资源文件(图片等)。
三、创建用户桌面与菜单快捷方式。
四、创建卸载。
1. 添加系统文件 Windows\\System32\\msiexec.exe 进行卸载
a) 创建msiexec.exe的快捷方式,
b) 在捷方式的属性Arguments 中指定”/x {你的安装程序的ProductCode} /qr” 2. 调用系统文件 Windows\\System32\\msiexec.exe 进行卸载
a) 创建控制台应用程序
string sysroot = System.Environment.SystemDirectory;
System.Diagnostics.Process.Start(sysroot + \, \你的安装程序的ProductCode} /qr \); 五、覆盖升级
1. 先修改主输出文件的版本号, 2. 然后再生成项目输出
3. 然后修改安装程序版本号、productcode,再复制productcode到卸载程序快捷方式 4. 重新生成安装程序。
-----------------------------------------用于自动安装-------------------------------------------------
1、改变ProductCode、Version(version比前一版本要高比如以前1.0.0现在就是1.0.1), 保持UpgradeCode不变(当设置RemovePreviousVersion=true时就是靠它来找到卸载旧版本)
2、设置detectnewerinstalledversion=true(自动检测新版本,如果装了高版本再安装低版本则提示不让安装),
设置RemovePreviousVersion=true(安装高版本的同时自动卸载低版本,如果为false则添加/删除会出现两个相同安装记录,如果在卸载时想保留某些文件,则把对应文件的属性值Parmanent=true)
3、在注册表编辑器写入安装标志键值(用来下一次安装时检测是否安装过此软件)和安装路径键值(为下一次安装得到上一次安装路径可以做相应操作)
4、在启动条件编辑器搜索目标计算机/添加注册表搜索(主要用以得上一次安装标识和安装路径),然后再通过属性值传到 主输出来自SetupInstall(活动) (参数传值:/productcode=[ProductCode] /regeditsetupvalue=[REGEDITSETUPVALUE]
/regeditsetuppath=[REGEDITSETUPPATH] /targetdir=[TARGETDIR]) 以提供给Install.cs安装类使用