5

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

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

非常感谢,

杰森。

4

1 回答 1

8

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

要创建将升级当前安装的新安装程序 (setup.exe),如果它存在,则需要做一些事情。它知道升级当前安装方式的关键是“升级代码”。如果此代码与原始安装中定义的升级代码(来自原始 setup.exe)相同,它将更新您的安装。

创建更新 setup.exe 文件:

  1. 打开“一般信息”页面。
  2. 在一般部分(顶部):
    1. 将产品版本更改为您的新版本号。
    2. 更改“产品代码”(不是升级代码!)。
      1. 您可以通过单击 {...}“产品代码”字段末尾的图标来执行此操作。
  3. 最后,创建一个新的升级路径。
    1. 打开“组织设置”部分下的“升级路径”页面。
    2. 右键单击最左侧树视图中的“升级路径”,然后选择“新建升级路径...”。这将在树视图中创建一个新条目。随便取个名字就行。
    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

于 2014-01-20T02:37:27.580 回答