How do you package a VSTO Word addin for deployment to a 64-bit Windows 10 machine running Microsoft Office 64 bit using WIX? - ms-word

Problem
I can't get 64-bit Word to load (or acknowledge the existence of in any way) an otherwise working Word VSTO add-in.
Discussion
I have a working Word VSTO add-in that I developed using Visual Studio 2017 on a 64-bit Windows 7 machine running Microsoft Office 32 bit. I use a WIX installer to deploy the add-in. I successfully deployed the add-in to a Windows 7 64 bit "master" gold disk that runs 32-bit Office, i.e., the add-in is available to any user who brings up a virtual desktop from the master gold disk. See Nova Sys Eng S.O. answer here for details.
Now, my organization is replacing Win 7 64-bit VDIs running 32-bit Office with Win 10 64-bit VDIs running 64-bit Office. In preparation for this, I created a 64-bit Win 10 development machine, installed Office 64-bit, Visual Studio 2019, the WIX Votive2019 extension, and the WIX toolset. On this development machine, I built a release version of the add-in and installed the MSI on this development machine. When I bring up Word on this development machine, it works fine.
Next, I carried the MSI built on the development machine to the 64-bit Win 10 master gold disk machine (again, running Office 64-bit) and successfully installed the add-in (i.e., the WIX installer finished without error). I also installed the VS 2010 Tools for Office Runtime (10.0.60828 released 2018) on the 64-bit Win 10 master gold disk machine. Just like on the 64-bit Win 7 master gold disk (Office 32-bit), the add-in was installed on the 64-bit Win 10 master gold disk machine in
C:\Program Files (x86)\FooAddIn
and the registry settings are
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\Word\AddIns\FooAddIn]
"FriendlyName"="Foo Add-In"
"Description"="Foo Word Add-In"
"Manifest"="C:\\Program Files (x86)\\FooAddIn\\FooAddIn.vsto|vstolocal"
"LoadBehavior"=dword:00000003
When I bring up Word on the 64-bit Win 10 master gold disk machine, the add-in does not load because, apprently, Word is unaware of its existence, i.e,. when I look at Word Options -> Add-Ins, the add-in is not present at all. When I select COM Add-ins -> GO, the COM ADD-ins dialog also does not show the add-in.
One more item:
On the development machine, the Build Config Manager look like the following, i.e., the Platform for the WIX installer program (FooAddInSetup) is set to x86, and there are no other options available.
Why won't Word acknowledge the existence of my add-in?
Is the fact that the add-in is installed in Program Files (x86) an issue?
Is the fact that the Platform for the WIX setup program is x86 an an issue?

I stumbled across Addins for Office programs may be registered under the \Wow6432Node. The part that helped me is this:
Even though I built the add-in on a 64-bit machine that has 64-bit office, the WIX installer set things up such that when I ran the MSI on the Win 10 64-bit gold disk machine (that has 64-bit Office), it added the reg settings to the HKLM\Software\Wow6432node as though the machine has 32 bit office.
I manually created the same reg key settings under HKLM\Software\Microsoft, and the add-in loaded just fine.
So, I have to figure out what I need to do to the WIX config settings to make it right for a machine that has 64-bit office on it.
BTW, the Microsoft page Registry entries for VSTO Add-ins seems to have it backward:

Related

mongodb on windows 10 without windows server 2008?

I'd like to install MongoDB Community Edition on my computer, which has the 64-bit Windows 10 Home OS, but the system requirements say I need Windows Server 2008 to do it.
I don't think my computer has Windows Server 2008. Is there any way around this? For example, would it work for small-scale databases, or is it totally incompatible without Windows Server 2008?
If I absolutely can't use MongoDB, is there another non-relational database that would work with my system? (It would have to be free.)
I admit that the download site is a bit confusing.
But you can simply download the MSI and install it on your Windows 10 machine. A Windows Server version is not required for the community edition.
Disclaimer: I have it on a Pro (Windows 7 and 10, without Windows 2008 or any other server) edition, not on a Home edition, but I'm pretty sure that it will work in the local machine context)

Excel 2013 64bit can't use Excel Add-in by DEPLOYTOOL [MATLAB]

Recently I upgrade my Office to Office 2013(64bit) on Win8.1(64bit). But the add-in dll files can not be registered by "regsvr32.exe {dll path}", in the same way I can create Excel Add-in by using delploytool for Office 2010(64bit).
Anybody know how to make Excel 2013 (64bit) work with the Excel Add-in generated by DEPLOYTOOL?
Cheers,
Cross
It is recommended to use Office 32bit even if you are using Windows 64bit, because of compatibility issues with add-ins. Office 32bit is fully supported with Windows 64bit
If the dlls are 32 bit then, I'm afraid, you're out of luck: a 32 bit dll cannot be loaded into a 64 bit process. That's an operating system level constraint.
Your only option is to downgrade your Microsoft Office to 32 bit. Then you get your 32 bit dlls back. But to register them, you need to use the regsvr32 executable in C:\Windows\SysWOW64\ (the normal place for the 32 bit compatibility programs). Then you can add references in the normal way.

Do virtualised machines require separate software licenses?

I have a windows 7 machine, but for various reasons I need to have access to windows xp also.
I know it's possible for me to have a windows xp virtual machine set up, so that effectively I can have use of both.
Irritatingly, I've got into a situation where I really must have visual studio 2008 installed on Windows 7 and XP (don't ask!). My question is, can I share my existing software licenses across the virtual machine also, or do I have to purchase separate ones?
Because you are running Win7 on a CPU that has hardware virtualisation enabled, you have the option of using the Windows XP Mode, which is a virtualised copy of XP that is already fully licenced, you don't need an extra licence for it.
If you want to setup a separate virtual machine running XP then yes, you will need a separate licence for XP itself.
If you sourced your copy of VS through a MSDN subscription then that is per user, so you can install it multiple times. If you bought a single copy of VS then the licence will be per machine (which includes virtual machines).
The simple answer is Yes - If you have a new Virtual Machine with an OS installed all software running inside this container (including the OS) is classed as a separate machine (such as a second PC next to it)
Double check your VS2008 Licence as you may be able to install on more than 1 PC.
Obviously this is my advise from previous experience - if your really concerned check with a Solicitor before proceeding
Many Microsoft licenses are per user, not per machine. If this is the case (check your license) then you can install it on both your Windows 7 installation and Windows XP installation.

Visual Studio 2010 RC with Office 2010 and Office 2007 installed

I have Visual Studio 2010 installed on my Windows XP development machine along with Office 2007 Professional and Office 2010 Professional. I am trying to develop several add-ins for Office 2007; however, I prefer to use Office 2010 on a day-to-day basis.
How do I set Visual Studio 2010 to install the add-in and open Word 2007 when I press debug? Currently, Word 2010 opens, but does not recognize the add-in. Unless I have to, I would like to keep Office 2010 installed.
I don't know the specific answer to your question, but I am running Office 2010 and still working on Office 2007 add-in development.
My solution to this problem has been virtual machines. I don't do any development work on my laptop's primary OS. I don't even have Visual Studio installed there, but I am running Office 2010 and really like it so far.
For development I've got dozens of different VMs with various configurations of OS and Office version and other 3rd party software that I need to integrate with. I'm currently using Windows 7 and the new version of Windows Virtual PC, but I started this practice when I was using Windows XP and Virtual PC 2007.
One benefit of this is that if something goes wrong on one of my VMs, it doesn't bring down my whole machine.
I also don't start from scratch each time I need a new VM. I've got base images with only the OS installed, as well as OS + Office and OS + Office + Visual Studio, but nothing else. That way, whenever I need a new VM, I just make a copy of the base image that's closest to what I need and go from there. The only limitation is that the base images can't be joined to a domain, but that's not a big deal for me.
I would encourage you to try this yourself. It works great.

Best Virtual Development Platform for .NET 3.5 Development

I have basically succumbed to the fact that if you are a hardcore computer user, you will have to reimage your computer every few months because something bad happened. Because of this, I bought imaging software and then really got into imaging. I am now ready to move my development environment completely into a virtual machine so that I can test sites on IIS as though I am on a dev network (and backup these images easily).
The question is, what is the best virtual development platform for a 4 gb laptop? A virtual Vista Business with 3 gb of ram, windows XP sp3 with 3 gb of ram, or Windows Server 2003 with 3 gb of usable ram.
Tools I will need to install:
*sql server 2005 dev edition
*vs 2008 sp1
*tools for silverlight
*and multiple other smaller testing tools
I have tried the following combinations:
Windows XP SP3 on Virtual Server
2005 R2
Windows Vista Business
x64 on Virtual Server 2005 R2
Windows XP on Virtual PC 2007
Windows 2003 on Virtual Server 2005
R2
Windows XP on VMWare Fusion
and the Virtual Server installations where either local or hosted on a server and they all ran fine and about the same speed.
The VMWare Fusion Virtual Machine running under OS X is (seat of the pants) significantly faster than the others. I haven't tested VMWare on Windows to see if it is VMWare or the Hardware making the difference, but it's something worth looking into.
Server 2008, converted to a workstation.
Nothing compares IMO, I've loaded 3 Different OS's in the last 3 months, and I'm set on Server 2008.
I think the biggest question (from my standpoint) is whether or not you'll be doing development (like SharePoint) that requires a server platform. If you anticipate a lot of SharePoint development (or perhaps Exchange, or BizTalk, or another product that requires development be done on a server platform), then go with Windows Server 2003. If not, then I'd probably choose XP, though Vista isn't a bad development platform.
I personally prefer developing on a server platform - however, that opinion might shift if I was developing any sort of WinForms applications, since it would more correctly represent the OS family for the target audience.
I did notice a slight performance decrease going from Server 2003 to Server 2008 that I was not expecting, but that might be more from doing an in-place upgrade instead of starting clean.
From the options you gave, I would personally go with W2k3. You can really trim a server OS down to run lightning-fast, especially when you don't have or get rid of the MS "eye candy".