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

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

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

非常感谢,

杰森。

在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