使用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文件:
- 打开“常规信息”页面。
- 在“常规”部分(顶部):
- 将产品版本更改为新版本号。
- 更改“产品代码”(不是升级代码!)。
- 您可以通过单击“产品代码”字段末尾的
{...}
图标来执行此操作。
- 您可以通过单击“产品代码”字段末尾的
- 最后,创建一个新的升级路径。
- 打开“整理您的设置”部分下的“升级路径”页面。
- 右键单击最左侧树视图中的“Upgrade Paths”,然后选择“New Upgrade Path …”。 这将在树视图中创建一个新条目。 用它来命名它。
- 单击刚刚创建的条目,在右侧窗口中显示属性。 第一个字段是“升级代码”。 此代码需要与先前安装中使用的代码相同。 如果不同,您的安装将安装另一个程序实例(如果产品代码也相同,您将获得“首先卸载其他程序”消息)。
- 幸运的是,原始setup.exe的“升级代码”很容易获得。 在“升级代码”字段中,有一个
...
图标。 单击此按钮将打开文件浏览器。 将其设置为显示“所有文件”,因为它的默认值仅为msi文件。 - 导航到原始安装中使用的setup.exe文件并选择它。 它将为您填充一些字段,包括原始升级代码。 您会注意到它还将最大和最小版本号设置为原始setup.exe的版本号。 将最大版本号设置为您在“常规信息”页面的“常规”部分中定义的新setup.exe的版本号。
你定了! 构建解决方案,新的setup.exe将升级以前的安装(使用相同的升级代码)。
看看这个页面。 它涵盖相同的材料,与图片位! http://syncor.blogspot.com/2013/03/doing-upgrades-with-installshield-le.html