使用VS2012附带的Install Shield创建可更新的设置

Jas*_*mes 5 c# visual-studio-2012 installshield-le

我正在尝试使用Install Shield LE打包分发winforms应用程序.这很好用,我甚至在setup.exe中打包了.net 4.5 redistributable.我遇到的问题是我现在正在创建我的应用程序的1.4版本,我希望它成功卸载旧版本(1.0到1.3)并安装新版本.到目前为止,我还没有成功; 每次运行新的setup.exe时,都会收到警告,说明必须先使用控制面板中的程序和功能卸载当前版本.

有没有人有一个体面的教程或一些指导,可以通过让我的新版本取代旧版本来帮助我改善我的客户体验?

非常感谢,

杰森.

rad*_*nsb 8

在visual studio项目资源管理器中,您的installshield项目下有许多页面条目.一个被称为"一般信息"(在"组织您的设置"下),包括几个部分.第一部分称为"常规",前几个字段是"产品名称","产品版本","产品代码"和"升级代码".

要创建将升级当前安装的新安装程序(setup.exe),如果存在,则有几件事要做.它知道如何升级当前安装的关键是"升级代码".如果此代码与原始安装中定义的升级代码(从原始setup.exe)相同,则它将更新您的安装.

要创建更新setup.exe文件:

  1. 打开"常规信息"页面.
  2. 在"常规"部分(顶部):
    1. 将产品版本更改为新版本号.
    2. 更改"产品代码"(不是升级代码!).
      1. 您可以通过单击{...}"产品代码"字段末尾的图标来执行此操作 .
  3. 最后,创建一个新的升级路径.
    1. 打开"整理您的设置"部分下的"升级路径"页面.
    2. 右键单击最左侧树视图中的"Upgrade Paths",然后选择"New Upgrade Path ...".这将在树视图中创建一个新条目.无论你喜欢什么,都可以命
    3. 单击刚刚创建的条目,在右侧窗口中显示属性.第一个字段是"升级代码".此代码需要与先前安装中使用的代码相同.如果不同,您的安装将安装另一个程序实例(如果产品代码也相同,您将获得"首先卸载其他程序"消息).
    4. 幸运的是,原始setup.exe的"升级代码"很容易获得.在"升级代码"字段中,有一个...图标.单击此按钮将打开文件浏览器.将其设置为显示"所有文件",因为它的默认值仅为msi文件.
    5. 导航到原始安装中使用的setup.exe文件并选择它.它将为您填充一些字段,包括原始升级代码.您会注意到它还将最大和最小版本号设置为原始setup.exe的版本号.将最大版本号设置为您在"常规信息"页面的"常规"部分中定义的新setup.exe的版本号.

你定了!构建解决方案,新的setup.exe将升级以前的安装(使用相同的升级代码).

看看这个页面.它涵盖相同的材料,与图片位! http://syncor.blogspot.com/2013/03/doing-upgrades-with-installshield-le.html