|
CREDITS |
Identify your plugin... |
|
%GET% CREDITS "plugin by ..." "based on original from ..." "tested on..." "last revision on..."
|
|
|
STARTPARAM-ICON |
Definition of start parameters and special icon (Optional) |
|
%GET% STARTPARAM-ICON "/w" "Nero.exe,1" allows to add start parameters to the loader configuration file and to define any icon file for the shortcut(s).
|
|
|
HEAD |
Establish all basic core plugin data |
|
Overview
%GET% HEAD "1" "2" "3" "4" "5" "6" "7" "8" "9" etc... 1 -Category 2 -MainEXE 3 -Name inside the INF and name of shortcut (if left blank, it is derived from MainEXe eg. Nero) 4 -ram or disk. Set the loader to copy files to ramdrive and start there. Or start from CD. 5- Programs or Startup. Programs triggers XPE shortcut in startmenu. Desktop shortcut always per default. Startup ->autostart. and no shortcut on desktop. 6 -Subgroup in startmenu\programs\... Match in Nu2 XML. 7 -Rea or blank. Entry in reatogoMenu or not. 8 -Nu2 or blank. Creates XML or not. 9 -defines addl WinNt directories. "a" is already defined by the template. So position 9 is "b" positon 10 is "c" etc. Prints to INF and defines target for copy.
Define a startmenu subgroup
%GET% HEAD "500" "ad-aware.exe" "Ad-Aware SE" "ram" "Programs" "Ad-Aware SE" "Rea" "Nu2" "Lang" Ad-Aware SE =name inside the INF and name of the shortcut(s) Ad-Aware SE =name of the sub-group in start menu and Nu2-XML Lang =addl. WinNtDirectory "b" (a is alredy defined by the template automatically)
Name inside the INF and of the shortcut(s) Name inside the INF and the name of the shortcuts would be FileScav without specifying File Scavenger 3.0.
%GET% HEAD "600" "FileScav.exe" "File Scavenger 3.0" "ram" "Programs" "subgroup-startmenu" "Rea" "Nu2"
Shortcut (s)
%GET% HEAD "590" "MWSnap.exe" "MwSnap Screenshot Utility" "disk" "Startup" "" "Rea" "Nu2" "lang"
Programs or Startup. Programs triggers XPE shortcut in startmenu and on the desktop. Startup creates an entry in the autostart section of the XP start menu on CD. Does supress creation of a desktop shortcut.
Addl. WinNtDirectories
%GET% HEAD "590" "XnView.exe" "name-inside-INF" "ram" "Programs" "subgroup-startmenu" "Rea" "Nu2-Menu-y/n" "cache" "Filters" "Lut" "PlugIns" "skins" "language" "Help" "skins\Xp"
Defines addl. WinNtDirectories as target directories for file copy action (with %GET% FILES) and prints to the INF as follows:
[WinntDirectories]
Note: directory "a" is already pre-defined by the template.
|
|
|
DOWNLOAD |
Download the needed files or a setup-EXE |
|
The extension of the download file determines the action:
%GET% DOWNLOAD "inner folder" "selection header" "language-1" "download-URL-1" "language-2" "download-URL-2" "language-3" "download-URL-3" etc... (up to 18 language options possible)
EXE: just download and prompt the user to "install the prog and try again". ZIP: Download all files, put them into "Files" and continue with the plugin configuration.
The routine allows for multi-language download selection and compensation of an "inner folder", where required.
"%GET% DOWNLOAD" also puts the files into the folder "Files".
Download a setup-EXE: If the program is detected not to be installed, this will download the setup-EXE. Routine includes a full user prompt.
%GET% DOWNLOAD "" "SETUP-LANGUAGE" "english" "http://www.quetek.com/bin/32fsU30.exe" "german" "http://www.quetek.com/bin/32fsG30.exe"
Downloads the setup-EXE if the program is not installed. SETUP-LANGUAGE is the header for the selection user dialog english and german is the describtion of the choices in the user dialog.
Up to 18 language choices can be specified.
Download the needed files and put them into folder "Files" If the program is detected not to be installed, this will download the needed files and then continue with the plugin configuration.
%GET% DOWNLOAD "" "" "" "http://www.mirekw.com/winfreeware/files/MWSnapLang.zip" %GET% DOWNLOAD "" "" "" "http://www.mirekw.com/winfreeware/files/MWSnapLang.zip"
In this example, there are two ZIP-downloads for the needed files. One for the program files, one for addl language files. The downloads merge in "Files".
This will move the files from the second download to the subfolder Files\lang if exist Files\*.ini move Files\*.ini Files\lang &move Files\*.bmp Files\lang
Special download issues (relating to both, .exe and .Zip)
"Inner Folder" Compensation Some downloads unzip with a subfolder (like 2xExplorer\2xExplorer\--content--), which would result in "Files\2xExplorer\...". Specifying the inner folder will correct it to "Files\--content--".
%GET% DOWNLOAD "2xExplorer" "" "" "http://wcarchive.cdrom.com/pub/simtelnet/win95/fileutl/2xex1412.zip"
How to handle more than one download in one autoHelp.cmd In this particular example two downloads are necessary:
%GET% DOWNLOAD "" "" "" "http://downloads.pcworld.com/pub/new/privacy___security/anti_spyware_tools/aawsepersonal.exe" %GET% DOWNLOAD "" "" "" "http://download.lavasoft.de.edgesuite.net/public/pllangs.exe"
Up to three download calls are possible in one autoHelp.cmd.
|
|
|
PROGPATH |
Find the path to the program´s files |
|
Pre-defined %PROGPATH% for Nero and some others... For some programs, the PROGPATH can be found in registry just by knowing the name of the MainEXE. Nero is one of them. So, no need to manually define the progpath here. It has already been done by autoHelp Creator.
%GET% PROGPATH "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ad-Aware SE Personal" "DisplayIcon" Any registry entry containing the path to the program can be used. Double backslashes and/or a file name at the end will automatically be trimmed off to get a path usable for the file copy action etc. Use "Check Progpath" button on the panel to start a check-routine, if you want to test an entry for the correct return before you use it.
%GET% FACTORY-PATH "Lavasoft\Ad-Aware SE Personal" Would be an other, simple, way to define the PROGPATH. Specify the default installation path (only the portion inside the program folder). Works fine, if the user did not opt for a custom install location. Has to be used, if the install path is not stored in the registry.
Total Commander e.g. installs per default to C:\totalcmd. (outside the program folder). The routine will automatically detect the exception. The entry is: %GET% FACTORY-PATH "totalcmd" |
|
|
SELECTION |
Selection dialog for options like language etc. |
|
%GET% SELECTION "LANGUAGE" "" "catalan" "" "danish" "" "dutch" "" "english" "" "finnish" "" "french" "" "german" "" "hungarian" "" "italian" "" "norwegian" "" "portuguese" "" "spanish" "" "swedish" "" "turkish"
Will call a complete user dialog to select up to 18 options. Returns in this example choice 4 as a variable %result% set to the value of english.
Example of using the returned value in a following file copy call. (Note the renaming of the file): %GET% FILES "b" "%result%.awl" "default.awl"
%GET% SELECTION "LANGUAGE" "German" "de" "English" "en" "French" "fr" etc... Display of the item in the selection dialog is English, the variable %result% will be set to the value of en. Use this addl. specification of the choice display, if the result is too cryptic to be used for the user display. If left blank, the definition of the value will be used for both, the variable and the item display.
|
|
|
FILES |
Copy files and print to INF |
|
Two Copy Modes for the needed files:
Depending on the selected CopyMode, the files will either be -copied now and in the INF it prints like Files\Nero.exe=a,,4. -Or copied at build and in the INF it prints like C:\Programme\Ahead\Nero\Nero.exe=a,,4 (for PEbuilder to copy at build).
Always attribute 4 (copy if there, no error if not) as the file-present-check is already done by autoHelp.cmd and enable-blocking of an unconfigured plugin is done by start.inf, that is replaced with a configured and enabled INF after a successful run.
%GET% FILES "a" "Nero.exe" "renamed-Nero.exe" "some.dll" "renamed-some.dll" etc...
Directory "a" is automatically derived from the name of the MainEXE. Here as "Nero". The variable %PROGPATH% defines the source. So, all the information is there to copy the files from source to ...\Programs\Nero.
%GET% FILES also automatically prints all relevant lines to the INF as all needed information for this is defined too.
Specifying WinNtDirectories like "2" also defines source and target for file copy.
Note: Currently the following IDs are supported:
1 SystemRoot
Copy files from Common Files Folder: %GET% FILES "Acronis\CDRecord" "com.a" "readcd.exe" "New-readcd.exe" etc....
To copy files from Common Files directory to "a" or "2" etc.. "com.a" triggers copy "from Common Files to directory a". "Acronis\CDRecord" in this example, specifies the portion of the path inside the Common Files folder.
Other File Copy Issues:
How to Print to INF like shfolder.dll=2,,4 A minus with the directory "-a" or "-2" will supress copy action and print like shfolder.dll=2,,4 instead of Files\shfolder.dll=2,,4 Use it for files present directly in the root of the plugin´s folder or for files to be copied from the Win-CD.
Renaming files on their way from source to target is done analog to PEbuilder syntax like %GET% FILES "a" "Nero.exe" "my-Nero.exe" "some.dll" "my-some.dll" etc...
|
|
|
REG |
Query registry and print to INF |
|
%GET% REG -h1 "HKLM\Software\Ahead\Nero - Burning Rom\Info" %OUT% Prints the result of the query for all values under this key. Prints in PEbuilder format to the INF.
%GET% REG -h1 "HKLM\Software\Ahead\Nero - Burning Rom\Info" "User" %OUT% Same, but only for the value User. Three seperate calls with "User", "Company" and "Serial6" would give here the same output as above.
-h1 prints the relevant section header. -h6 prints just the line without header. -S includes all subkeys into the parsing. (%GET% REG -h1 -S "My-Key" %OUT%). Set text=... prints a comment above the section header.
Note: To include subkeys with "-S" will unfortunately have be the rare exception in the context of a plugin´s autoHelp.cmd as it will normally return a large number of entries including absolute local paths that can not be used as is. It is more a bulk reg-2-inf function and used as such to power the "built-in Reg-2-Inf Converter".
|
|
|
xREG |
Extended functions for "REG" |
|
REG and xREG are quite similar in use and syntax ... but there are differences. Use xREG if you need the result as a variable (as shown below) or if the value name itself contains localized elements and you need a "wildcard" function.
%GET% xREG -h6 "HKLM\SOFTWARE\Ahead\Shared" "ShortCutDLLLang" %OUT% Prints the full result in PE-inf format to the plugin-INFand stores the result of the query in %result% (until overwritten during the next call of xREG). Without the "%OUT%", it will only define the variable %result% (here used to localize the name of the files in the following GET FILES call) .
The "wildcard" function of xREG Use x--x just like a wildcard * to replace local elements. It will return the localized entry of your system.
set
text=FONTS Localized
...prints to the INF: ;
FONTS Localized
-s22 etc. is an added feature of xREG:
"22" in this example, could be any WinNt directory number of your choice. This function additionally memorizes the return of xREG calls and prints it to INF as follows and triggered by the following call:
%GET% xREG -D %OUT% after the two calls above, prints to INF:
[SourceDisksFiles]
|
|