Deploy VSTO 3.0 on Enterprise:
There is nothing special about this. I would definitely recommend that you use your company's packaging system, such as Altiris or SCCM for deployment. When packing, make sure that you add the CustomInclusionList project (and configure it in accordance with the MSDN docs) +, do not necessarily sign your assemblies if you have a code signing certificate.
If in a locked environment you need packaging technology so that the package is installed as an administrator. Otherwise, deployment will be a nightmare. Be careful when receiving packages to re-create the package created by Visual Studio. You need to make sure that all registry keys are saved, user actions, etc. You will probably be introduced into hive hccu, which means that users will not be able to remove the add-on itself (unless they are an administrator).
Please note that if users receive an invitation when opening an office application with the request "Do you want to install / not install this addin, etc.", then the custominclusionlist project is not configured properly or you will not be given a registry key.
In Citrix:
It seems to be working fine. The main thing is that citrix servers are fully updated to the latest Office build with all prequistes installed prior to deployment. This is trivial if you have a well-preserved correction system. Because the other defendant said nothing to Citrix. It will work, must be installed in HKCU to avoid any problems.
PowerToys for VSTO:
Yes, it's cool. They work equally well with either VB or C #. they are agnostics of the language, I think that you only refer to the fact that they were written in C #. When deploying, make sure you add the Extensions assembly either locally or in the GAC. it will not be installed for users, even if they already have the PIA Office 2007 component installed.
When using C # over VB.net:
No comments! yes, I would go to C #, although some complain that its more verbose than VB for VSTO projects, I think most of this is a legacy. Look for really bad methods that have 30 optional arguments, you have several ways to deal with this now. Write the extension method yourself or use most of the time in the Excel.Extensions and Word.Extensions namespaces. You can also write overloads in a static helper class and call methods such as Open, only with the parameters that you are going to use. Ultimately, you must make a decision based on what most programmers are better at, and as a result, your strength lies in the programmer’s resource organizations. You may be a C # guru, but if the other 9 guys are VB.net wizs, then it makes sense to do projects on VB.net. still try to convert them, but the real solution with techlead / manager is not related to the monkeys of code.