|Note regarding InstallScript versions: The samples on this page have been developed with various versions of InstallShield. Some of them require a minimum InstallShield version or may only work in the one version they have been created for. Often it will be possible to make them compatible with other InstallShield versions.|
For InstallShield 6:
These functions read or write multiline registry entries from/to registry. The lines are passed in a string list.
prototype RegDBSetMultiSZ(NUMBER,STRING,STRING,LIST); prototype RegDBGetMultiSZ(NUMBER,STRING,STRING,LIST);
RegMultiSZ.zip Written by Ingo Jache
File size: 1.269 bytes Last update: 2000-05-26
For InstallShield 5:
Here is a function to add a value into a multi-line registry value on NT.
prototype RegAddMulti(STRING, STRING, STRING, STRING, NUMBER);
RegAddMulti.zip Written by Elihu Rozen, enhanced by Joe Goeke
File size: 1.297 bytes
This function copies an INI section from one file to another.
prototype CopyINISection (STRING, STRING, STRING, STRING);
Fix: Missing parameter added, and obsolete subroutine call removed.
copyini.zip Written by Alan Frank
File size: 816 bytes Last update: 05/31/1999
Here's a function that copies all the subkeys and values under a key into another key.
To rename a key, call RegDBCopyKey on it, and then delete the original.
Note: InstallShield Professional 7 has a built in RegDBCopyKeys function.
prototype RegDBCopyKey(STRING, STRING, NUMBER);
copykey.zip Written by Robert M.
Dickau, InstallShield Software
File size: 1.976 bytes Last update: 03/26/1999
This function provides the ability to specify a ControlName.Interface for any control and get the ClassId (GUID) of the control from the registry.
Use this function after the control(s) has been registered.
prototype GetCLSIDByName( NUMBER, STRING );
GetCLSIDByName.zip Written by Paul Cronk, SoftWin Consulting, Inc.
File size: 3.004 bytes Last update: 07/29/1999
This function imports a .reg file and creates the specified entries with the InstallShield registry functions. The advantage of this method is, that the entries will be removed upon uninstall. If you merge the .reg file by starting RegEdit with LaunchAppAndWait, the entries will not be logged for uninstall.
Update: now handles all types of registry entries
processregfile.zip Written by David Somers based on a sample from an InstallShield
Training Course, last modified by Dominick Moré
File size: 4.770 bytes Last update: 2002-06-14
Here is a tool (written in InstallScript) that will read a .reg file and generate a .rul file with RegDBSetKeyValueEx function calls. It handles most registry value types, including STRING_MULTI and STRING_EXPAND. However currently it doesn't handle BINARY properly.
ProcessRegFile2.zip Written by
Carl Bennett and Graham
File size: 14.539 bytes Last update: 2001-06-29
This is a variant of the ProcessRegFile2 tool, but instead of a .rul file it creates a registry set .rge file. It takes in .reg files, and asks you for a .rge file to output to. It creates a new registry set and puts all your entries there. It does not do any text substitution.
ProcessRegFile3.zip Written by
File size: 13.812 bytes Last update: 2001-06-29
Typically only the HKEY_USERS hive for the currently logged on user is loaded and available for modification. If you want to add registry entries for other (or all) users of an NT box, you can use this DLL to load their hives into the registry.
Included in the ZIP is the DLL, a sample .rul file, a test program, and the Visual C++ source codes. The DLL does not require MFC.
UserHive.zip Written by Radboud Platvoet
File size: 86.272 bytes Last update: 2000-04-26
See also: Handle Files and Registry Entries in User Profiles
This function provides the ability to specify a ControlName.Interface for any control(s) and using the ControlName.Interface to set Safe for Scripting and Safe for Initialization on the control in the registry.
A text file in the form of a Windows Profile file is used (Scripting.txt) for example which is read by ComponentSafety. The code reads the file using GetProfileString, parses out the Control.Interface value and gets the ClassId (GUID) for it from the registry. It then sets Safe for Scripting and Safe for Initialization on the ClassIdbased using the flags in the text file.
Use this function after the control(s) has been registered.
New version: You only have to specify the name; the GUID is retrieved automatically.
prototype ComponentSafety( NUMBER, NUMBER );
ComponentSafety.zip Written by Paul Cronk, SoftWin Consulting, Inc.
File size: 4.847 bytes Last update: 07/29/1999
This is summary describes the functionality of the RunOnceEx and RunEx registry keys in Windows 98. It does not apply to other Windows versions.
Currently, the "Run" and "RunOnce" registry keys in Windows 98 execute commands when the shell starts. Several features have been added to make this more robust. The replacements are RunEx for Run and RunOnceEx for RunOnce. The main features for RunEx and RunOnceEx are described in the following list:
Status - A dialog box is displayed while the items contained in the registry key are being processed. The entries to be processed are grouped into sections and the dialog box highlights the current section being processed. You can disable the status dialog box feature.
Performance - The majority of the commands contained in the Run and RunOnce registry keys create separate processes, which is very inefficient. The RunEx and RunOnceEx registry keys do not create separate processes. The RunEx and RunOnceEx registry keys also support a dependency list of DLLs that remain loaded while either all the sections or some of the sections are being processed.
Error Handling - If an exception occurs while calling a function in a DLL, the exception is caught and an error dialog box is displayed to the user. You can suppress this error dialog box using a flag in the RunOnceEx registry key. You can also set a flag to enable log errors and execution of the RunOnceEx or RunEx registry keys.
Deterministic - The RunOnceEx and RunEx registry keys sort the entries and sections alphabetically to force a deterministic order. The RunOnce and Run registry keys do not wait until one entry is finished before starting the next entry, except for the items in the RunOnce registry key contained in the HKEY_LOCAL_MACHINE registry key.
The above information is based on article Q232487 in the Microsoft knowledge base.
Look for a section in an INI file.
prototype stdmiscExistsSectionInInifile (STRING, STRING);
stdmiscexistssectionininifile.zip (1.048 Bytes) Provided by Richard Lippmann
This function broadcasts a notification message that informs all applications about a
change in the environment settings, e.g. addtions to the PATH.
This function only works on Windows NT 4.
Article Q100090 in the InstallShield Knowledge Base has also information about this topic.
RefreshEnvironment.zip (552 Bytes) Provided by Paul Becker
|News||Discussions||Windows Installer||Related Tools||More Help||InstallScript||About InstallSite||Shop||Site Search|
|Neuigkeiten||Diskussionsgruppen||Windows Installer||MSI FAQ||Artikel||Shop||Suche|
Copyright © by InstallSite Stefan
Krueger. All rights reserved. Legal
By using this site you agree to the license agreement. Webmaster contact