addin auto upgrade?

Hello, there. I am facing a problem related to addin upgrade. I developed an addin and distribute it to my customer, all works well. Now I add some new features to my addin, I know I can distribute it to my customer to finish upgrade by providing setup program. But I don't want to adopt this way. I want to know whether VS2005 extensibility provides such interface that I can program it to help completing update issue. For example, I can place my upgraded addin on my site, whenever my customer opens vs2005 IDE, it will automatically check if higher version exists by connecting to my site, if existing, it willdownload higher version and complete upgrade?

Thanks

Rigards,

wang

[845 byte] By [kele] at [2007-12-26]
# 1
AFAIK, there is no such support in the extensibility model of Visual Studio, you have to add it on your own.
CarlosQuinteroMVP at 2007-9-4 > top of Msdn Tech,Visual Studio,Visual Studio Extensibility...
# 2

Hi, Carlos. Thank you very much for your reply here and your mail. After thinking it over, I am considering my new solution for this upgrade problem. I could write a windows service which runs background, monitors the devenv.exe process starting. When the service receives a WMI event indicating devenv.exe process has been started successfully, the service will do the higher version detection by sending query message to another reporting program which resides on my server and is responsible for reporting whether higher version is available. If higher version detected, the service will receive a confirmation from the reporting program and notify user to upgrade.

Any ideas with this solution?

Thanks and Regards,

Wang

kele at 2007-9-4 > top of Msdn Tech,Visual Studio,Visual Studio Extensibility...
# 3
If you just want to notify the user that a higher version is available (giving up to replace it) I would do that in the add-in, with a background thread or something like that. A Windows service seems overkill to me for this purpose... IMHO.
CarlosQuinteroMVP at 2007-9-4 > top of Msdn Tech,Visual Studio,Visual Studio Extensibility...
# 4

Hi, Carlos. What you said is reasonable. I think the solution I mentioned above is not the best choice. Maybe it makes a simple problem complicated. I do that just because I have checked MSDN about extensibility(I don't know wheter I omitted some important subject) and haven't found the exact classes and methods I can use to solve my problem. I have to give it up and come up with the compromise solution. At present, all my developed are a web site project template(appeared under "My Templates" on "New Site" page) and a custom wizard which runs immediately after clicking the project template providing user chance to custom some project parameters by implementing Microsoft.VisualStudio.TemplateWizard.IWizard interface. That is an add-in and not a VSPackage. So I haven't used VS2005 SDK.Must I turn to VS2005 SDK and modify a lot of my codes and reconstruct my DLL with new different interface(That's IVsPackage)? The problem is that I checked VS2005 SDK septempber version also and no found subject about VSPackages upgrade. So definitely I will face the same problem even though I can develop a VSpackage to provide the same functionality.

However, I will consider your suggestion about background thread monitor.

Thanks and Regards,

Wang

kele at 2007-9-4 > top of Msdn Tech,Visual Studio,Visual Studio Extensibility...
# 5

AFAIK, there is no support for autoupgrading in the SDK either. The thing is that:

1) Addins and packages and the such must be installed, registered for COM, registered for VS, etc. so they are not very suitable to autoupgrades on the fly.

2) Once the assembly of a managed add-in/package is loaded in an appdomain, it can not be unloaded unless the appdomain is unloaded, so you need to restart the IDE.

3) Anything related to autoupgrade, clickonce, etc is in the .NET Framework, not in the extensibility side, so you must apply them to the add-in / package with the above restrictions, which will make it difficult. The bottom line (the compromise) is that surely at most you can notify the user of a new version but nothing else, and that in a background asynchronous thread because you don't want to block the loading of the add-in.

CarlosQuinteroMVP at 2007-9-4 > top of Msdn Tech,Visual Studio,Visual Studio Extensibility...
# 6

Hi, Carlos. I have known better behind the add-in from your analysis. Thank you very much.

Regards,

Wang

kele at 2007-9-4 > top of Msdn Tech,Visual Studio,Visual Studio Extensibility...

Visual Studio

Site Classified