Should I develop my Excel add-in in 32-bit or 64-bit environment?

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

Should I develop my Excel add-in in 32-bit or 64-bit environment?
 
Leon Lai Kan




Posts: 200
Joined: 2018-12-20
Hello Andrei

I may have to reformat my hard disk and reinstall all my programs because I am still getting plenty of problems with registering and loading my add-in in Excel. I am not going to bother you again on this problem. I will have to sort that problem with my IT friend.

My processor is 64 bit. I have Windows 2010 (64-bit) and Office 2016 (64-bit) installed.

My add-in (when completed) will be used by a large number of staff, and they are all using 32-bit processors.

I am not sure (at least in the short term) that Management will upgrade all computers to 64-bit.
It's probable they will continue on 32-bit for some time.



As I intend reformatting my computer and reinstalling all my software, I would like to ask you some advice.
I have read your ADX manual and forum notes, but it's a bit unclear in my mind.


Question #1

Would you advise me installing Office 2016 (64-bit) or Office 2016 (32-bit) on my computer?
Keeping in mind that in the immediate, my add-in will be used on 32-bit computers?



Question #2

Suppose I install Office 2016 (32-bit) now and develop my add-in under 32-bit, and say in 1 year's time, Management decides to upgrade all computers to 64-bit.

Will it involve a lot of work for me to convert my add-in to take advantage of 64-bit processors (principally more memory)?

Thanks
Leon
Posted 13 Jun, 2019 06:53:17 Top
Andrei Smolin


Add-in Express team


Posts: 18794
Joined: 2006-05-11
Hello Leon,

#1. I can't give you a qualified advice: you know your requirements better. As to us, we mostly use 32bit Office on our work computers; we have VMs with 64bit Office installations if this is required; this occurs on rare ocassions only.

#2. In Outlook and Excel 2016 and above, your 32bit add-in uses the 64bit memory area. Please see https://www.add-in-express.com/creating-addins-blog/2017/12/19/large-address-aware-outlook2016/.


Andrei Smolin
Add-in Express Team Leader
Posted 13 Jun, 2019 07:15:23 Top
Leon Lai Kan




Posts: 200
Joined: 2018-12-20
Thanks, Andrei for your reply.

I read on p.259 of the ADX Manual (Deploying a per-user Office Extension via an MSI Installer)

Step 2: Build your project
To support 32-bit and 64-bit Office, set the Platform target property to Any CPU before building your project.



I may be mistaken, but I seem to understand that I can build my add-in on 64-bit Office and I can deploy it to work on 32-bit computers. (However, I am designing my add-in on Per-Machine basis.)

If my understanding is correct, I may install Office 2016 (64-bit) on my computer, develop my add-in, then deploy it as 32-bit to be used on all computers.

Then, when all computers go to 64-bit, I simply deploy my add-in on 64-bit basis, and install it on the (now) 64-bit computers.


Please correct me if I am wrong.

Leon
Posted 13 Jun, 2019 07:32:06 Top
Andrei Smolin


Add-in Express team


Posts: 18794
Joined: 2006-05-11
Hello Leon,

An add-in may be per user or per machine independently of being 32bit, 64bit or AnyCPU. We recommend creating Any CPU add-in projects: this lets you provide an add-in that can load in 32bit *and* 64bit Office right from the start. Provided that the installer invokes adxregistrator.exe as described in the manual, such an add-in will be registered with the 32bit and 64bit registry: whatever Office bitness is used (or installed later), your Any CPU add-in will load correctly.

We use 32bit Office so that we do not depend on Office being 64bit. This assumes that an Any CPU add-in loading in a 32bit Office will also load in 64bit Office. There can be issues however if you use a bitness-specific component/assembly/DLL. In this case, see https://www.add-in-express.com/creating-addins-blog/2015/02/25/creating-bit-specific-office-addin/.


Andrei Smolin
Add-in Express Team Leader
Posted 13 Jun, 2019 07:58:44 Top
Leon Lai Kan




Posts: 200
Joined: 2018-12-20
Andrei,

Thanks for your very enlightening explanations.

So, I shall reinstall Office 2016 on my computer but as 32-bit, and develop my add-in as 32-bit.

As all our users will use 32-bit computers (at least for one or 2 years), there will be no problem making my add-in work on their computers (I hope!).

Later, when we upgrade to 64-bit processors, we shall see.

Best Regards,
Leon
Posted 14 Jun, 2019 01:17:52 Top
Andrei Smolin


Add-in Express team


Posts: 18794
Joined: 2006-05-11
Hello Leon,

Leon Lai Kan writes:
and develop my add-in as 32-bit.


No. What I said is different: Build the add-in project for the Any CPU platform, not for the x86 platform. This lets your add-in work in 32bit *and* 64bit Office versions. See also https://stackoverflow.com/questions/516730/what-does-the-visual-studio-any-cpu-target-mean.


Andrei Smolin
Add-in Express Team Leader
Posted 14 Jun, 2019 02:05:48 Top
Leon Lai Kan




Posts: 200
Joined: 2018-12-20
Andrei,

What I meant is:

I will reinstall Windows 10 on my computer (as 64-bit)

I will reinstall Office 2016 on my (development) computer as 32-bit.
I will reinstall .NET Framework version 4.0 and Visual Studio 2010.
I will reinstall the latest version of ADX for Office and .NET

I will develop my add-in.

Then I will build the add-in (for Any CPU Platform).

Then I will install my add-in (which is developed using 32-bit Excel) on all my Users computers (who have 32-bit processors) and Office 2010 (installed as 32-bit).


Am I correct now? I hope I have not misunderstood anything.


Leon
Posted 14 Jun, 2019 02:29:31 Top
Andrei Smolin


Add-in Express team


Posts: 18794
Joined: 2006-05-11
Hello Leon,

Yes.


Andrei Smolin
Add-in Express Team Leader
Posted 14 Jun, 2019 07:19:59 Top