VSTO or non-VSTO

Add-in Express™ Support Service
That's what is more important than anything else

VSTO or non-VSTO
 
Bryan


Guest


I've read through your website (including the blog post) comparing a traditional .NET add-in versus VSTO. What I am struggling to understand is what do lose if I pick a traditional add-in instead of VSTO.

I am building an application level Word 2007 add-in (that will need to eventually work on Word 2010 too). I need to use the following:

* Ribbon
* Custom task panes
* Word content controls (including their events)
* Controls on the document surface (http://blogs.msdn.com/eric_carter/archive/2008/07/24/using-vsto-document-features-in-application-level-add-ins.aspx)

I have experience with VSTO and it supports everything I need. However, I do want to minimize the footprint on the end user machine. Non-admin users will be installing this add-in, and the VSTO runtime requires admin to instal.

Given the above requirements, why would I choose a traditional add-in instead of VSTO?

If I choose a traditional add-in, what would I "lose" from VSTO? For example, could I still put controls on the document surface from the app level add-in?

What does end user deployment look like for a traditional add-in? Obviously the .NET framework will need to be installed (which requires admin). Is admin required for anything else if this is a per user install?

Thanks in advance for your detailed answers.
Posted 09 Dec, 2009 13:58:52 Top
Andrei Smolin


Add-in Express team


Posts: 18793
Joined: 2006-05-11
Hello Bryan,

If I choose a traditional add-in, what would I "lose" from VSTO?


With the .NET edition of Add-in Express you will not be able to use controls on the document surface, this is a feature of VSTO.

What does end user deployment look like for a traditional add-in? Obviously the .NET framework will need to be installed (which requires admin). Is admin required for anything else if this is a per user install?


No.


Andrei Smolin
Add-in Express Team Leader
Posted 10 Dec, 2009 05:21:36 Top
Bryan


Guest


Thanks for the reploy Andrei. Couple more questions:

Andrei Smolin writes:
With the .NET edition of Add-in Express you will not be able to use controls on the document surface, this is a feature of VSTO.


Is there any way to simulate this in Add-in Express ... I am not too familiar with your product. I'm looking to place one or more buttons on the document surface, and when these button(s) are clicked they should invoke custom code that perform a specific action based on the button that was clicked.

Bryan writes:
What does end user deployment look like for a traditional add-in? Obviously the .NET framework will need to be installed (which requires admin). Is admin required for anything else if this is a per user install?


So with Add-in Express, what is the deployment experience for an end user like that does not have the .NET framework installed (if I go with Add-in Express, I'll likely be targeting .NET 2.0):

* Is a bootstrapper created that handles the install of .NET 2.0?

* My add-in will install on a per user basis. If a user running XP does not have .NET 2.0, how is elevation handled (since the .NET requires admin)? I need the .NET install to elevate as admin (and prompt for admin credentials if needed), then revert back to the current user (non-admin) to install my add-in. Is this handled properly? (many bootstrappers don't get this right)

Thanks in advance.
Posted 19 Dec, 2009 18:05:33 Top
Andrei Smolin


Add-in Express team


Posts: 18793
Joined: 2006-05-11
Hello Bryan,

Is there any way to simulate this in Add-in Express...


The .NET edition of Add-in Express provides the Word Document Module in the Add New Item dialog. The module allows connecting to MSForms controls existing on a Word document, not creating .NET controls.

* Is a bootstrapper created that handles the install of .NET 2.0?


Yes, the setup project generated by Add-in Express contains .NET Framework as a prerequisite. BTW, it a convetional setup project in all respects. Add-in Express adds several custom action calls to register and unregister the add-in. Also, Add-in Express provides an executable used in the PostBuildEvent of the setup project; the execuatable fixes the resulting .MSI so that to hide the "Just for me" / "For Everyone" options which aren't applicable to installing add-ins.

If a user running XP does not have .NET 2.0, how is elevation handled (since the .NET requires admin)?


Unfortunately, I haven't tested this. I would expect however that on Windows XP, a standard user running setup.exe will be unable to install .NET framework. As to Vista, Windows 7 and Windows 2008 Server, the user will be required to enter an administrator's password; after this, a per-user add-in (i.e. RegisterForAllUsers=false) will be registered for the administrator, not for the standard user.


Andrei Smolin
Add-in Express Team Leader
Posted 24 Dec, 2009 03:36:42 Top
Bryan


Guest


Thank you for the detailed replies Andrei.

I don't think the Word Document Module will work for us. It appears to be document specific, but we're looking for something that will work at the application level across all documents.

And regarding the bootstrapper, I think we'll just roll our own then so we can get elevation for the .NET install on XP machines (most of our clients are still on XP). There are some open source bootstrapper tools out there that should be able to provide this capability.
Posted 24 Dec, 2009 12:23:17 Top
Andrei Smolin


Add-in Express team


Posts: 18793
Joined: 2006-05-11
Good luck with your project, Bryan!


Andrei Smolin
Add-in Express Team Leader
Posted 04 Jan, 2010 06:39:24 Top
Jeremy Rosenberg




Posts: 5
Joined: 2010-01-04
We will be building an Outlook application level addin. After reading this post, and many articles on your site, I still can't figure out the difference between the VSTO and non-VSTO editions. I want to make sure we purchase the right one.

Can you post a summary of the major differences with respect to Outlook development?

Thanks.
Posted 04 Jan, 2010 17:10:35 Top
Eugene Astafiev


Guest


Posted 05 Jan, 2010 08:42:29 Top
Jeremy Rosenberg




Posts: 5
Joined: 2010-01-04
Thanks Eugene. Perfect.
Posted 05 Jan, 2010 09:09:07 Top
Eugene Astafiev


Guest


You are welcome, Jeremy ;-)
Posted 05 Jan, 2010 09:19:42 Top