RhinoV3. Plug-in Installer Inno Setup Compiler, IsTool (or an old ScriptMaker) and My Inno Setup Extensions 3 |
FREEWARE productsInno SetupCompiler ,IsTool and My Inno Setup Extensions 3 are highly customizable and great RhinoScript Companion
You can read/write from the registry at setup run
time and many, many other useful options ...
Just an example: Read Rhino installed path from the registry:
------------------------------------------------------------
DefaultDirName={reg:HKLM\SOFTWARE\McNeel\Rhinoceros\3.0\{reg:HKLM\SOFTWARE\McNeel\Rhinoceros\3.0\,MostRecent}\Install\,InstallPath}\Plug-ins\MYAPP_DIR
Write to the registry a new Rhino alias:
--------------------------------------
Root: HKCU; SubKey:
Software\McNeel\Rhinoceros\3.0\Scheme: Default\Options\AliasList;
ValueName:
EC; ValueType: string;
ValueData:
!Run {app}\MYAPP.EXE;
Flags: deletevalue
uninsdeletevalue
With the My Inno Setup Extensions 3 we can include some PASCAL scripts to do some calculation or anything on setup run-time. How it looks like in the real life?:
Let say we want to include our custom workspace(ws3) with our VBS script
or VB.exe. So,( from my "research") we need to get number of workspaces
(Count) already installed, located in here: HKCU,'Software\McNeel\Rhinoceros\3.0\Scheme:
Default\RhinoToolBarManager\Count
once we have it, we need to create a new key with the value of Count
and then increment Count for one and write it to the registry. here
is the PASCAL script to do so:
[Code]
var
StartInstall: Boolean; //This
function will be invoked when user click on the INSTALL button
function GetCount():Boolean;
var RHCount:String;
var new_RHCount:String;
begin
RegQueryStringValue(HKCU,'Software\McNeel\Rhinoceros\3.0\Scheme:
Default\RhinoToolBarManager','Count',RHCount);
new_RHCount := IntToStr(StrToInt(RHCount) + 1);
RegWriteStringValue (HKCU,'Software\McNeel\Rhinoceros\3.0\Scheme:
Default\RhinoToolBarManager', 'Count',new_RHCount
);
Result := True;
end;
function GetNewCount(S:String):String;
var RHCount:String;
var new_RHCount:String;
begin
RegQueryStringValue(HKCU,'Software\McNeel\Rhinoceros\3.0\Scheme:
Default\RhinoToolBarManager','Count',RHCount);
new_RHCount := IntToStr(StrToInt(RHCount) - 1);
Result := new_RHCount;
end;
so the GetNewCount we'll call in our registry section
[Registry]
Root: HKCU; Subkey:
Software\McNeel\Rhinoceros\3.0\Scheme: Default\RhinoToolBarManager; ValueType:
string; ValueName:
{code:GetNewCount};
ValueData:
{app}\MYWORKSPACE.ws3