Targeting multiple platforms with ADX 2010 beta

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

Targeting multiple platforms with ADX 2010 beta
 
Frank Perugini




Posts: 42
Joined: 2006-04-27
Hello ADX Support Team.

Can you post some guidelines for targeting multiple platforms (x86, x64) for ADX solutions? My current ADX 2009 projects that I am upgrading target 'Any CPU'.

Can this be accomplished with one redistributable, or will it require an x86 specific build and an x64 specific build? I see that there are both adxloader.dll and adxloader64.dll included in the redistributables folder. This leads me to believe it will require 2 specific builds.

Any help will be greatly appreciated. Thanks.

-Frank
Posted 30 Mar, 2010 14:06:09 Top
Andrei Smolin


Add-in Express team


Posts: 16964
Joined: 2006-05-11
Hi Frank,

If you create a new COM add-in project and then a setup project for the add-in project, then the default settings of both projects create the installer which registers the add-in in both 32-bit and 64-bit Office 2010 versions. In other words, you don't need to have two setup projects unless you supply some bit-specific components.

Regards from Belarus (GMT+2),

Andrei Smolin
Add-in Express Team Leader
Posted 31 Mar, 2010 08:04:26 Top
Frank Perugini




Posts: 42
Joined: 2006-04-27
OK, but keep in mind may of us will be converting existing ADX projects to ADX 2010. These projects have existing setup projects that the older ADX tools created for us.

In new projects, I notice in the Loader folder that there is adxloader.dll and adxloader64.dll. In our older projects, their is just the x86 loader dll.

I was mainly asking for some guidelines on VS2008 settings. Specifically, in Configuration Manager, the platform setting: Any CPU, x86, x64. And in setup & deployment projects the setting called 'TargetPlatform'.

Take this example as a use case:
1. I have an existing ADX 2009 COM Add-in project for Outlook that works on x86.
2. I would like to convert it to ADX 2010 beta.
3. This COM Add-in uses some 3rd party DLL's that have specific x86 and x64 versions.
4. I need to create installers that will work with both Outlook 2010 x86 and Outlook 2010 x64.
5. How would you advise to handle this scenario?

(Note, this may be a good entry for the ADX Technical Blog)

Thank you for your help,

-Frank
Posted 31 Mar, 2010 09:14:30 Top
Andrei Smolin


Add-in Express team


Posts: 16964
Joined: 2006-05-11
Hi Frank,

Frank Perugini writes:
(Note, this may be a good entry for the ADX Technical Blog)


And it is decided that I shall write such a post. Will you allow me several days to do this?

Regards from Belarus (GMT+2),

Andrei Smolin
Add-in Express Team Leader
Posted 31 Mar, 2010 11:23:16 Top
Frank Perugini




Posts: 42
Joined: 2006-04-27
Sure Andrei. It will be well worth the wait.

-Frank
Posted 31 Mar, 2010 12:40:16 Top
Andrei Smolin


Add-in Express team


Posts: 16964
Joined: 2006-05-11
Hi Frank,

I'm terribly sorry, now when the article is almost ready (we are going to publish it today) I've suddenly understood that it doesn't meet your needs: I wrote about converting projects created with Add-in Express 2009 to get the add-ins to work with Office 2010 (both 32-bit and 64-bit versions) in Add-in Express 2010.

Are those DLLs managed/unmanaged ActiveX DLLs or just managed\unmanaged DLLs?

Regards from Belarus (GMT+2),

Andrei Smolin
Add-in Express Team Leader
Posted 08 Apr, 2010 04:47:12 Top
Frank Perugini




Posts: 42
Joined: 2006-04-27
Hi Andrei,

Both of the DLL's are unmanaged COM DLL's. What you described above sounds correct. I have ADX Outlook Add-in projects currently in ADX 2009 that I need to convert to ADX 2010. They must target Outlook 2010 x86 and x64. Of course the x86 version must also support previous versions of Outlook via the appropriate PIA's.

If you would like to run the article by me before publishing, please contact me via email.

Thanks,

-Frank
Posted 08 Apr, 2010 08:00:36 Top
Andrei Smolin


Add-in Express team


Posts: 16964
Joined: 2006-05-11
Hi Frank,

For converting your setup project for support of 32-bit Office 2010, please follow instructions at Supporting Office 2010, 32-bit and 64-bit, in a single COM add-in setup project. You need to include the 32-bit version of the COM DLL in this setup project.

To create a setup project for Office 2010 64-bit, create a new setup project (see Build | Create Setup Project), add the 64-bit version of the COM DLL, and set the TargetPlatform property of the setup project to x64.

Please let me know if this works for you.

Regards from Belarus (GMT+2),

Andrei Smolin
Add-in Express Team Leader
Posted 08 Apr, 2010 12:36:31 Top
MW23




Posts: 71
Joined: 2007-01-11
Hi!

As many others - I guess - we use the 32bit Redemption-DLL for our project. AFAIK a 64bit version will be released in a couple of month :(

I read that in order to get a 32bit-DLL (redemption) working on a 64bit system there are 2 options:
1. isolate the DLL! This is done by the user and NOT an option for a regular install process!
2. compile the whole project as 32bit application! I understand that this would prevent ADX from running under 64 bit (am i correct?).

Is there a workable solution to create a single setup with adxloader based Addins referencing the redemption 32bit version which is running on both 32bit and 64bit OL2010? Any ideas?

Cheers
Martin
Posted 09 Apr, 2010 13:09:39 Top
Frank Perugini




Posts: 42
Joined: 2006-04-27
2. compile the whole project as 32bit application! I understand that this would prevent ADX from running under 64 bit (am i correct?).


I have compiled a standalone server-based Redemption project as x86 and it runs OK on Exchange server (x64). But I don't think you can run an Outlook add-in w/Redemption compiled for x86 in Outlook 2010 x64.

Is there a workable solution to create a single setup with adxloader based Addins referencing the redemption 32bit version which is running on both 32bit and 64bit OL2010? Any ideas?


I am also interested in ideas on this.

-Frank
Posted 09 Apr, 2010 15:15:18 Top
Andrei Smolin


Add-in Express team


Posts: 16964
Joined: 2006-05-11
Hi Martin,

MW23 writes:
Is there a workable solution to create a single setup with adxloader based Addins referencing the redemption 32bit version which is running on both 32bit and 64bit OL2010? Any ideas?


There's no such solution because the 64-bit version of LoadLibrary will not load a 32-bit COM DLL.

Hi Frank,

Frank Perugini writes:
I am also interested in ideas on this.


Alas.

MW23 writes:
we use the 32bit Redemption-DLL for our project. AFAIK a 64bit version will be released in a couple of month :(


Delphi doesn't provide a 64-bit compiler and as far as I understand Dmitry uses FreePascal or such to create a 64-bit version of Redemption. If this is so, it's just a huge lot of work.

Regards from Belarus (GMT+2),

Andrei Smolin
Add-in Express Team Leader
Posted 12 Apr, 2010 06:17:55 Top