C# 使用安装项目VS2010发送更新

C# 使用安装项目VS2010发送更新,c#,visual-studio-2010,setup-deployment,C#,Visual Studio 2010,Setup Deployment,windows应用程序是在c#中构建的,第一个版本的安装程序是使用visual studio安装程序安装项目构建的。设置了以下安装项目属性: DetectNewerInstalledVersion : True InstallAllUsers : True ProductCode : //product code RemovePreviousVersions : True UpgradeCode : //upgrade code Version : 1.0.1 关键是第一个版本的安装大小约为6

windows应用程序是在c#中构建的,第一个版本的安装程序是使用
visual studio安装程序安装项目
构建的。设置了以下安装项目属性:

DetectNewerInstalledVersion : True
InstallAllUsers : True
ProductCode : //product code
RemovePreviousVersions : True
UpgradeCode : //upgrade code
Version : 1.0.1
关键是第一个版本的安装大小约为650MB,并且已经安装在客户端机器上。为每个用户创建应用程序快捷方式

现在我想发送一个修复程序/修补程序,所以我尝试创建新的
visual studio安装程序安装项目
项目,并添加了主要输出,仅添加了更改/更新/修改的文件。现在考虑下面的场景(取决于安装项目属性):

  • 我设置的属性
    detectNewErrorInstalledVersion:True,InstallAllUsers:True,ProductCode://更新,RemovePreviousVersions:True,UpgradeCode://与第一个版本相同,版本:1.0.2

    由于
    RemovePreviousVersions:True
    property安装程序删除第一个版本(删除我没有随新更新一起发送的所有文件),然后安装新版本(这将不起作用),但由于此安装程序仅作为修补程序使用,因此我不想向客户端发送完整大小(650MB)的安装程序

  • 接下来,我尝试设置
    detectNewErrorInstalledVersion:True,InstallalUsers:True,ProductCode://更新,RemovePreviousVersions:false,UpgradeCode://与第一个版本相同,版本:1.0.2

    这将成功更新产品并为当前用户启动,但当我尝试通过切换用户(安装更新的用户除外)来启动应用程序时,应用程序将启动安装过程并将应用程序重新设置为第一个版本

  • 所以简而言之,有没有什么方法可以让我使用installer project向客户端发送更新/补丁/修复程序?记住,我不想每次都包含所有文件(因为它的大小将达到650MB),应该只包含更新的文件