deploying xll to other machines

For discussion of the xlw project for producing xlls.

deploying xll to other machines

Postby jvan » Fri Jan 10, 2014 12:12 am

I am able to successfully build and use an XLL creating using xlw, but only on my own machine. I have confirmed that I am using the 32-bit and 64-bit version where appropriate. In addition to placing the file in the Addins directory on the target machine, what other steps are necessary? I tried adding the addin in Excel...options...addins...manage add-ins. That step seems to finish without any error messages. However, none of the functions are visible. If I then close and restart Excel, I receive the following error message:

"The file you are trying to open, 'MyXll.xll', is in a different format than specified by the file extension. Verify that the file is not corrupted and is from a trusted source before opening the file. Do you want to open the file now?"

If I click yes, it shows a large worksheet of garbage characters. If I click no, nothing happens. Either way, the functions in my xll are unavailable. Any guidance on this issue is appreciated.
jvan
 
Posts: 1
Joined: Thu Jan 09, 2014 11:59 pm

Re: deploying xll to other machines

Postby mj » Mon Jan 13, 2014 8:34 am

this generally means that you have missing dlls. DependencyWalker will tell you.
mj
Site Admin
 
Posts: 1380
Joined: Fri Jul 27, 2007 7:21 am

Re: deploying xll to other machines

Postby martingale » Mon Jan 13, 2014 8:28 pm

mj wrote:this generally means that you have missing dlls. DependencyWalker will tell you.


Hi MJ.
I'm having the same issue here.
My debug model .xll opens and works fine. but my release mode .xll cannot open, or opened as txt file in excel.
I used DependencyWalker and it shows a warning :: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

my release and debug both showing above same warning.
is there any lead on how to identify the issue for my release mode?

btw, I copied msvcr90.dll from C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT to windows\system32. else there's a msvcr90.dll missing error from DependencyWalker when analyzing release mode xll

thanks
martingale
 
Posts: 3
Joined: Mon Jan 13, 2014 4:18 pm

Re: deploying xll to other machines

Postby mj » Sun Jan 19, 2014 11:39 pm

my best guess is that you have the version of a dll.

Changing to static linking might solve the problem. Ie. change the code generation/run time library setting to multi-threaded instead of multi-threaded dll.

You would need to do this in all parts of the project and rebuild the xlw library.
mj
Site Admin
 
Posts: 1380
Joined: Fri Jul 27, 2007 7:21 am

Re: deploying xll to other machines

Postby martingale » Wed Jan 22, 2014 4:43 pm

hi MJ
I changed my project setting in 'Configuration Properties\General\Configuration Type\
and select the drop down from 'Dynamic Library(.dll) to Static Library ( .lib )
this changes the code generation \ run time from Multi-Thread (DLL) to Multi-Thread ( /MT ) automatically.
a .xll was generated but still the same thing happened.
was there any place that I need to change to static besides the configuration type?

Thanks


mj wrote:my best guess is that you have the version of a dll.

Changing to static linking might solve the problem. Ie. change the code generation/run time library setting to multi-threaded instead of multi-threaded dll.

You would need to do this in all parts of the project and rebuild the xlw library.
martingale
 
Posts: 3
Joined: Mon Jan 13, 2014 4:18 pm

Re: deploying xll to other machines

Postby mj » Thu Jan 23, 2014 12:03 am

Have you rebuilt the xlw.lib file?

Other than that all I can suggest are
1)installing Visual Studio on the target machine, (the express edition is free after all)
2) use the GNU compiler
3) make sure you put copies of the dependent dlls in the same folder as the xll

The xlw-users mailing list tends to provide more useful help than here to be honest.
mj
Site Admin
 
Posts: 1380
Joined: Fri Jul 27, 2007 7:21 am

Re: deploying xll to other machines

Postby martingale » Thu Jan 23, 2014 2:29 pm

hi mj

since my debug version of the xll works fine, i don't think 1 and 2 will be the issue.
would you show me where is the xlw mailing list? It's first time I heard of it and didn't find it in sourceforge.

thanks


mj wrote:Have you rebuilt the xlw.lib file?

Other than that all I can suggest are
1)installing Visual Studio on the target machine, (the express edition is free after all)
2) use the GNU compiler
3) make sure you put copies of the dependent dlls in the same folder as the xll

The xlw-users mailing list tends to provide more useful help than here to be honest.
martingale
 
Posts: 3
Joined: Mon Jan 13, 2014 4:18 pm

Re: deploying xll to other machines

Postby mj » Thu Jan 23, 2014 9:11 pm

see

http://sourceforge.net/p/xlw/mailman/


whilst 1 and 2 are not the causes of your problem, they may well be a solution...
mj
Site Admin
 
Posts: 1380
Joined: Fri Jul 27, 2007 7:21 am


Return to xlw

Who is online

Users browsing this forum: No registered users and 1 guest

cron