Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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
Visual studio 2012 为什么VisualStudio更新的安装时间要比VisualStudio本身长得多?_Visual Studio 2012_Visual Studio 2013 - Fatal编程技术网

Visual studio 2012 为什么VisualStudio更新的安装时间要比VisualStudio本身长得多?

Visual studio 2012 为什么VisualStudio更新的安装时间要比VisualStudio本身长得多?,visual-studio-2012,visual-studio-2013,Visual Studio 2012,Visual Studio 2013,最近,我有过安装Visual Studio 2012和2013以及安装各自的更新4的经验 在这两种情况下,基本VisualStudio安装所花费的时间(至少是更新4的一半)要少得多 这让我很困惑,因为首先更新4比基本的VisualStudio小得多 其次,根据我的直觉,根据定义,更新应该只是一个补丁,它不应该比实际软件本身花费更长的时间 在这两种情况下,当安装更新时,我注意到安装程序浪费了大量时间“保存还原点”,这些还原点是罪魁祸首吗?好问题。正如您所注意到的,安装更新只是安装差异,因此您可能会

最近,我有过安装Visual Studio 2012和2013以及安装各自的更新4的经验

在这两种情况下,基本VisualStudio安装所花费的时间(至少是更新4的一半)要少得多

这让我很困惑,因为首先更新4比基本的VisualStudio小得多

其次,根据我的直觉,根据定义,更新应该只是一个补丁,它不应该比实际软件本身花费更长的时间


在这两种情况下,当安装更新时,我注意到安装程序浪费了大量时间“保存还原点”,这些还原点是罪魁祸首吗?

好问题。正如您所注意到的,安装更新只是安装差异,因此您可能会认为它比新的“绿地”安装更快

首先,重要的是要记住这些更新是巨大的。我们大约每三个月发布一次,所以这包含了我们能够潜入更新的bug修复和新特性工作。因此,虽然补丁只包含不同的DLL,但一行更改将需要一个全新的DLL。如果某个内部方法的签名已更改,那么现在所有调用方都必须更改。您可以看到,一行程序很容易很快就变成几百KB的补丁

(我们的修补程序包括新二进制文件的完整副本,而不是采用旧二进制文件并仅更改少数(?)更改字节的修补程序。)

其次,更新安装过程疯狂地试图阻止更新安装破坏安装。(以便更新成功或可以回滚到上一个已知的良好状态。)这意味着,例如,在写下新DLL之前,更新将验证现有安装是否处于良好状态。相比之下,安装新版本的VS只是写入数据,不需要验证。诚然,这是次要的,但确实起作用了

另外,正如您所注意到的,恢复点的创建有些昂贵。同样,我们的目标是让您得到更新,或者让您回到以前的状态,避免出现一些古怪的半安装状态,在这种状态下,VS无法工作,您无法完成升级或降级


这正是我们梦寐以求的场景(在一个版本的结尾,有时是字面意思)。

好问题。正如您所注意到的,安装更新只是安装差异,因此您可能会认为它比新的“绿地”安装更快

首先,重要的是要记住这些更新是巨大的。我们大约每三个月发布一次,所以这包含了我们能够潜入更新的bug修复和新特性工作。因此,虽然补丁只包含不同的DLL,但一行更改将需要一个全新的DLL。如果某个内部方法的签名已更改,那么现在所有调用方都必须更改。您可以看到,一行程序很容易很快就变成几百KB的补丁

(我们的修补程序包括新二进制文件的完整副本,而不是采用旧二进制文件并仅更改少数(?)更改字节的修补程序。)

其次,更新安装过程疯狂地试图阻止更新安装破坏安装。(以便更新成功或可以回滚到上一个已知的良好状态。)这意味着,例如,在写下新DLL之前,更新将验证现有安装是否处于良好状态。相比之下,安装新版本的VS只是写入数据,不需要验证。诚然,这是次要的,但确实起作用了

另外,正如您所注意到的,恢复点的创建有些昂贵。同样,我们的目标是让您得到更新,或者让您回到以前的状态,避免出现一些古怪的半安装状态,在这种状态下,VS无法工作,您无法完成升级或降级


这正是我们梦寐以求的场景(在一个版本的结尾,有时是字面意思)。

好问题。正如您所注意到的,安装更新只是安装差异,因此您可能会认为它比新的“绿地”安装更快

首先,重要的是要记住这些更新是巨大的。我们大约每三个月发布一次,所以这包含了我们能够潜入更新的bug修复和新特性工作。因此,虽然补丁只包含不同的DLL,但一行更改将需要一个全新的DLL。如果某个内部方法的签名已更改,那么现在所有调用方都必须更改。您可以看到,一行程序很容易很快就变成几百KB的补丁

(我们的修补程序包括新二进制文件的完整副本,而不是采用旧二进制文件并仅更改少数(?)更改字节的修补程序。)

其次,更新安装过程疯狂地试图阻止更新安装破坏安装。(以便更新成功或可以回滚到上一个已知的良好状态。)这意味着,例如,在写下新DLL之前,更新将验证现有安装是否处于良好状态。相比之下,安装新版本的VS只是写入数据,不需要验证。诚然,这是次要的,但确实起作用了

另外,正如您所注意到的,恢复点的创建有些昂贵。同样,我们的目标是让您得到更新,或者让您回到以前的状态,避免出现一些古怪的半安装状态,在这种状态下,VS无法工作,您无法完成升级或降级


这正是我们梦寐以求的场景(在一个版本的结尾,有时是字面意思)。

好问题。正如您所注意到的,安装更新只是安装差异,因此您可能会认为它比新的“绿地”安装更快

首先,它是