Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Mat,
you have completely answered my question. Thank you very much. I've used InnoSetup. According to your message, I need to launch the 'regsvr32 mydll' command within the InnoSetup project. 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 |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Mat and all,
I have inserted the following section in Inno setup: [Run] Filename: "{sys}\regsvr32.exe"; Parameters:"{app}\msadomd.dll" but i get an error: LoadLibrary("C:\Documents") failed - the specified modifiable has not been found P.S: my app is "C:\Documents and Settings\..etc..." C "Chris Leroquais" wrote in message ... Mat, you have completely answered my question. Thank you very much. I've used InnoSetup. According to your message, I need to launch the 'regsvr32 mydll' command within the InnoSetup project. 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 |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() "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 |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Mat and all,
I have inserted the following section in Inno setup: [Run] Filename: "{sys}\regsvr32.exe"; Parameters:"{app}\msadomd.dll" but i get an error: LoadLibrary("C:\Documents") failed - the specified modifiable has not been found P.S: my app is "C:\Documents and Settings\..etc..." C "Chris Leroquais" wrote in message ... Mat, you have completely answered my question. Thank you very much. I've used InnoSetup. According to your message, I need to launch the 'regsvr32 mydll' command within the InnoSetup project. 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 |
#8
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
But Chris, what are you trying to achieve? Please, read my previous posts:
you are NOT supposed to call RegSvr32 anymore. I'm not sure why you're insisting on doing that, because InnoSetup will handle all those registration issues for you -- that's why you use a proper installer, such as InnoSetup or Wise, in the first place. Just tell InnoSetup which files to install, and where they should be installed. And if these files happen to be DLL:s then you should also ask InnoSetup to register them for you by specifying the "regserver" flag. Why not search the help files for the keyword [Files] (and the [Setup] section is also very important to you, so read a bit about that one too). Please, have a look at the InnoSetup help files, and read through the FAQ. It should give you more information on how to use InnoSetup than you ever wanted to know about... :o) Cheers, /MP (By the way, the "LoadLibrary("C:\Documents") failed" message seems to be triggered by an incorrect truncation of the file path -- "Documents and Settings" has been truncated to "Documents" only. Without doing some basic testing myself, I can't provide you with an answer on how to solve this -- but luckliy I don't need to, because you're not supposed to call RegSvr32 anyways :o) "Chris Leroquais" wrote: Mat and all, I have inserted the following section in Inno setup: [Run] Filename: "{sys}\regsvr32.exe"; Parameters:"{app}\msadomd.dll" but i get an error: LoadLibrary("C:\Documents") failed - the specified modifiable has not been found P.S: my app is "C:\Documents and Settings\..etc..." C "Chris Leroquais" wrote in message ... Mat, you have completely answered my question. Thank you very much. I've used InnoSetup. According to your message, I need to launch the 'regsvr32 mydll' command within the InnoSetup project. 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 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Excel macro deployment | Excel Discussion (Misc queries) | |||
Excel Add In Deployment | Excel Discussion (Misc queries) | |||
Package and Deployment... | Excel Programming | |||
App using OWC 2003 Deployment - How to ? | Excel Programming | |||
Deployment question | Excel Programming |