2013-12-11 23 views
5

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

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

非常感谢,

杰森。

回答

8

在visual studio项目浏览器中,您的installshield项目下有多个页面条目。一个被称为“一般信息”(在“组织你的设置”下),并包括一些部分。第一部分称为“常规”,前几部分为“产品名称”,“产品版本”,“产品代码”和“升级代码”。

要创建新的安装程序(setup.exe)这将升级当前的安装(如果存在的话),有几件事要做,升级当前安装的方式的关键是“升级代码”,如果该代码与在原始的安装(从原来的setup.exe),它将更新安装

要创建一个更新setup.exe文件:。

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

您已设置!构建解决方案,新的setup.exe将升级以前的安装(使用相同的升级代码)。

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

相关问题