Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Installation Installshield安装/补丁/升级问题_Installation_Upgrade_Installshield_Patch - Fatal编程技术网

Installation Installshield安装/补丁/升级问题

Installation Installshield安装/补丁/升级问题,installation,upgrade,installshield,patch,Installation,Upgrade,Installshield,Patch,我希望有人能回答我的问题。我使用Installshield制作了一个安装程序。由于一些bug和其他原因,还有大约5个补丁。下面是我的问题: 有可能制造新的吗 安装程序基于上一个, 像是升级,但有 已修补的文件,而不是 原始文件 假设问题1是 可能,然后我又做了一个 基于新安装程序的修补程序。 但是,使用 以前安装在his中的安装程序 计算机下载了补丁 基于新的安装程序和 安装了它。这是一个有效的补丁吗 还因为新的安装程序是 基于上一个 请注意,我不是installshield大师,如果有人能回答

我希望有人能回答我的问题。我使用Installshield制作了一个安装程序。由于一些bug和其他原因,还有大约5个补丁。下面是我的问题:

  • 有可能制造新的吗 安装程序基于上一个, 像是升级,但有 已修补的文件,而不是 原始文件
  • 假设问题1是 可能,然后我又做了一个 基于新安装程序的修补程序。 但是,使用 以前安装在his中的安装程序 计算机下载了补丁 基于新的安装程序和 安装了它。这是一个有效的补丁吗 还因为新的安装程序是 基于上一个

  • 请注意,我不是installshield大师,如果有人能回答我的问题或提供一些有用的链接,我将不胜感激。

    这是非常高级的东西,但没有比Windows Installer文档更好的来源了:


    假设在产品(本例中为安装程序版本1)发布时有一个源代码管理系统

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

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

    从“发布/开发”分支创建修补程序/补丁程序分支,并从“修补程序或补丁程序”分支发布补丁程序

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

    当您准备创建第二个版本“release Version2”时,发布分支将相应地命名,并将在“热修复或补丁”分支中包含“release Version1”+“all fixes”的所有更改

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

    现在,从最新的“发布分支”创建一个新的“热修复”分支,或者将更改简单地带到以前创建的“热修复”分支,并且“发布版本2”的任何新修补程序现在都应该具有更新的逻辑,只允许在新需求上安装。。。与“版本2”相关的

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

    因此,根据这个标准,“patch1,2,3…n-ReleaseVersion2”不应该安装在任何具有“Release Version1”+零个或更多补丁的服务器上,因为补丁安装程序中的逻辑不允许(或不应该)这样的事情

    InstallShield最好解释什么时候做什么(即升级vs.更新vs.补丁)。根据表中提到的事实,说明何时实施哪种类型的更新,应决定是升级还是更新或补丁

    升级可以分为两种类型,一种是保持以前的安装不变,另一种是同时安装另一个安装(这可能相互冲突且难以管理),另一种是在安装较新的安装之前自动删除以前的安装。所以,您的第一个问题是升级是否可能,您需要决定哪种类型

    对于第二个问题,在创建修补程序时,您可以创建一个来检查是否存在以前安装的版本,并相应地决定需要做什么