问题
An windows application is build in c# and installer for first version is build using visual studio installer-setup project
. following setup project properties are set:
DetectNewerInstalledVersion : True
InstallAllUsers : True
ProductCode : //product code
RemovePreviousVersions : True
UpgradeCode : //upgrade code
Version : 1.0.1
Key point is setup size of first version is approx. 650MB and alredy installed on client machines. Application shortcut is created for each users.
Now I want to send an fix/patch, So I tried with creating new visual studio installer-setup project
project and added primary output and only that files which are changed/updated/modified. Now consider the following scenarios (depending on setup project properties):
Properties which I set
DetectNewerInstalledVersion : True, InstallAllUsers : True, ProductCode : //Updated, RemovePreviousVersions : True, UpgradeCode : //same as first version, Version : 1.0.2
Because of
RemovePreviousVersions : True
property setup removes first version (removes all the files which i have not send with new update) and then install new one (which will no use) but as this setup is only work as patch so I don't want to send full size (650MB) setup to client.Next I tried setting
DetectNewerInstalledVersion : True, InstallAllUsers : True, ProductCode : //Updated, RemovePreviousVersions : false, UpgradeCode : //same as first version, Version : 1.0.2
This updates the product successfully and get launched for the current user, but when I try to launch application by switching user (user other than who is installed update) applications starts installation process and bring application to first version again.
So in short, is there any way by which I can send update/patch/fix to client using installer project keeping in mind I don't want to include all the files every time(because it will size up to 650MB), only updated files should get included?
来源:https://stackoverflow.com/questions/31907758/send-update-using-setup-project-vs2010