View Single Post
  #8   Report Post  
Posted to microsoft.public.excel.programming
Chris Leroquais Chris Leroquais is offline
external usenet poster
 
Posts: 6
Default macro deployment - References DLL issue

great. Thanks.


"Mat P:son" wrote in message
...


"Chris Leroquais" wrote:

Mat,

you have completely answered my question. Thank you very much.


I'm happy that it helped...

I've used InnoSetup.


Yeah, pretty neat, isn't it... :-)

According to your message, I need to launch the 'regsvr32 mydll' command
within the InnoSetup project.


No, you do not. InnoSetup will register your DLL:s if you ask it to. For
example, here's a sample (you have to adjust it to your specific
situation,
of course):

[Files]
Source: "mydll.dll"; DestDir: "{app}"; Flags: regserver

Under the files category, you add your DLL ("mydll.dll"). It will then be
copied by the installer to directory specified by the user as the
application
installation directory ("{app}") and after copying the file, the installer
will also register it ("regserver") for you. There's no need for you to
run
regsvr32 explicitly anymore.

Ta da,
/MP
Cheers,

Chris


"Mat P:son" wrote in message
...
Hi there Christophe, here are some bullets that I hope might clarify
things:

1) DLL:s that you've put together must be made available on machines
which
are supposed to run your macro

2) The DLL:s must also be properly registered (using regsvr32 is one
way,
but not a very amusing one)

3) All DLL:s used by your DLL:s must also be deployed, provided that
you
are
not 110% sure the DLL:s will always be present on the target machines
(for
example, if your DLL:s are developed in VB you have to make sure the VB
run-time is present)

4) The XLA file you've put together (it is an XLA, right?) will find
your
DLL:s as long as (1) and (2) are adhered to. However, (3) is required
to
make
the add-in *run*

Ideally, the registration process should be done by a proper installer.
There are quite a few commercial ones out there, and a bunch of free
ones --
Wise and InstallShield belong to the former category, and InnoSetup and
NSIS
belong to the latter (really user-friendly MSI-compliant freeware
installers
are harder to find though).

Since it seems you're developing a relatively small-scale app, I would
recommend e.g. InnoSetup, which is very fast to work with, and powerful
as
well (and it doesn't cost USD 5,000 thank you very much :o) The
drawback
is
that it does not support MSI (and allegedly never will).

Cheers,
/MP

" wrote:

Hi,

I have created a macro in Excel. It uses 2 dll that are not built-in
in
the Excel and windows system.
To use these dll, I must in the VBA Editor to Add References and
selects the dll files.

Now I have a concern for deploying the macro to other computers.
I'd like to know if for deployment I can make transparent the fact to
Reference the dll?
Can I create a script that use the 'regsvr32 mydll' command and this
would have the same effect as manually Reference the macro in the VBA
Editor?

Thx,

Christophe