2009-12-23 43 views
1

我希望有人能回答我的问题。我使用Installshield制作了一个安装程序。然后还有5个补丁,因为一些错误和一切。现在,这里是我的问题:Installshield安装/修补程序/升级问题

  1. 是否有可能基于前一个, 像升级作出新的 安装程序,但它的 补丁的文件,而不是 原始文件?
  2. 假设问题1可能是 ,然后我根据新的安装程序创建了另一个 补丁。 但是,使用安装在他的 计算机上的 以前的安装程序的用户下载了基于新安装程序的 和安装它的 。这是否是有效的补丁 也是因为新安装程序是基于前一个的 ?

请注意,我不是installshield主人,如果有人能回答我的问题或提供一些有用的链接,我会很感激。

回答

-1

假设有一个地方一个源代码控制系统,当一个产品(在这种情况下安装程序版本1)发布。

发布工程师将拍摄“发布分支”状态的快照,然后相应地为下一个版本(本例中为安装程序版本2)重新命名。

开发人员将继续在类似的分支(Dev分支)中编码,该分支具有相同的位直到发布日期。

从此“Release/Dev”分支中创建HotFixes/Patches分支,并从“热修复或修补程序”分支中释放修补程序。

这些补丁包含确定安装前需求的逻辑。例如,“patch1-version1”需要“Release1版本”...“patch2-version1”需要的可能只是“patch1-version1”...等等。

当您准备创建第二版本“Release版本2“时,发布分支将被相应地命名并且将具有”发布版本1“+”所有修补程序“在”修补程序或修补程序“分支中的所有更改。

这个新版本需要逻辑来卸载以前的版本并安装新版本。

现在,从最新的“Release Branch”创建一个新的“Hot Fixes”分支,或者将这些更改简单地拖放到之前创建的“Hot Fixes”分支,以及任何用于“发行版本2 “现在应该更新了逻辑,只允许安装新的需求......与”发布版本2“有关的那些。

例如,“Patch1-ReleaseVersion2”将要求存在“Release Version2”...类似地,“Patch2-ReleaseVersion2”可能需要“发布版本2”加上第一个发布的补丁,或者只需要发布第一个补丁,因为基本版本(发布版本2)也必须在那里。

因此,根据此标准,“patch1,2,3 ... n-ReleaseVersion2”不应该安装在任何具有“发行版本1”+零/更多修补程序的服务器上,因为修补程序安装程序中的逻辑不会(或不应该)允许这样的事情。

0

什么时候做什么(即升级vs.更新与补丁)最好由InstallShield here解释。根据表中提到的事实描述何时执行哪种类型的更新,应该确定它是升级还是更新还是补丁。

升级可以有两种类型,既可以保持原来的安装状态,也可以并排安装(可能有冲突且难以管理),另一种是在安装新安装之前自动删除以前的安装。所以,你的第一个问题升级是可能的,你需要决定哪种类型。

对于第二个问题,在创建补丁时,您可以创建一个InstallCondition来检查以前安装的版本是否存在,并据此确定需要完成的操作。

相关问题