View Full Version : registering dll's with WindowsServiceAction
07-29-2002, 12:19 PM
After having copying files of my software, i have to register dll on a win2k system. For the moment, i use an executeWizardAction wich launch a reg.bat file. This .bat file says "regsvr32.exe mydll.dll". I would like to know if i can do the same thing with a windowsServiceAction ...?
07-29-2002, 12:40 PM
You can use the "Windows Service" product action to accomplish this. It is located in the "Product Tab" as an "Install Action".
Hope this helps
InstallShield Technical Support.
01-06-2003, 06:24 PM
This doesn't seem right to me. Doesn't the windowsServiceAction install a Windows Service while rgvsrv32 installs self registering dll's.
01-06-2003, 08:29 PM
I believe what you are looking for is called the "Win32 Self-Registering Files" bean.
01-07-2003, 11:13 AM
Are all dll's "self registering?" I get an error when trying to use regsvr32 about a missing symbol.
01-07-2003, 11:18 AM
No, only DLLs that export a function called DllRegisterServer are self-registering. You can determine a DLL's exports using dumpbin.exe (part of Visual C++) or Dependency Walker (http://www.dependencywalker.com)...
01-09-2003, 10:10 AM
So what do you use to install non-self-registering dll's? Is there a good resource for this?
01-09-2003, 10:13 AM
For non-self-registering DLLs (such as C-callable DLLs), you should be able just to copy them to the desired target directory.
01-09-2003, 10:17 AM
Are there any "best practices" solutions that I should be aware of when attempting to update a .dll file in the windows system directory?
I am trying to make sure that the user has msvcrt.dll installed.
01-09-2003, 11:24 AM
The general principle is that you should never overwrite a newer version of a DLL with an older one; on Windows 2000 (and Windows XP, presumably) msvcrt.dll falls under System File Protection, so you shouldn't install it on those systems, but on earlier versions of Windows you should check the existing copy's version, and then install your copy if it's newer...
02-06-2003, 06:49 PM
I am totally new to Windows shared libraries. What is "System File Protection"? And where might I find some comprehensive information on what I should or shouldn't be doing?
02-07-2003, 12:18 PM
look at msdn.microsoft.com.
system file protection is (in my opinion) a half-hearted attempt to working around 'dll-hell'. Implemented in Win2k forward.
Best rule of thumb is never to update a windows-shipped dll; rather, require it for your installation. You can do this by getting the custom bean that checks the version number and making a wizard condition on it to continue (just like you would for service pack but that's thru registry). In any case, it is dangerous water for a company to update windows binaries, especially when the binaries are not marked as redistributable.
03-03-2003, 10:19 AM
I am having trouble with the following script - I get an error when this script runs - The paths are all correct. The program regsvr32.exe runs outside installshield for the same dll. Why doesnt this - LaunchAppandWait run in DEv 7.x -
I am using a Std project converted from a running and released 5.x install project.
#define sSaveiDEProgram "Something";
STRING szProgram, szFileName, szPath, szParam;
szProgram = WINSYSDIR^"regsvr32.exe /s";
LongPathToQuote( szProgram, TRUE);
szPath = sSaveiDEProgram;
szFileName = "csdirectory.dll";
szParam = szPath + "\\" + szFileName ;
if (LaunchAppAndWait(szProgram, szParam, NOWAIT) < 0) ihen
MessageBox (@ERROR_REG_UNSUCCESSFUL, SEVERE);
What do you mean by "executeWizardAction wich launch a reg.bat" - How do you do this ? I might have to take this approach alternatively--?
Thanks for any help
03-03-2003, 10:22 AM
Hi there, this is the MultiPlatform group... you should post this in the Professional 5.x group...
Powered by vBulletin® Version 4.2.0 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.