Hello Scott,
Sorry to clutter things with another post but there was one thing I forgot to 
include:  the actual content of the variables.  Sometimes the exact form of a 
string is what trips me up so perhaps this will be helpful.  I walked through 
the debugger as this section of code was running and copied out the contents of 
each variable.  (disclaimer: actually I *retyped* what I saw in the debugger 
window... there is probably a way to copy/paste but I couldn't recall it.)
-Scott Morrow

tProgramFilesFolderPath -->    C:/Program Files/Report Card Pro
tAppFolder -->                             C:/Program Files/Report Card Pro
tAppName -->                              Report Card Pro.exe
tAppExecutablePath -->            C:\Program Files\Report Card Pro\Report Card 
Pro.exe
tDocFileExtension -->                .rcp
tAppDocAssoc -->                      Report Card Pro document
tDefaultIconString -->                 C:\Program Files\Report Card Pro\Report 
Card Pro.exe,1
tSubKeyDblClickDocString --> C:\Program Files\Report Card Pro\Report Card 
Pro.exe %1


------------------------------------------------------------------------------------------------------------------------------
local lErrorLog

on SetWindowsRegistry
  put empty into lErrorLog

  put "Setting the registry" into fld "progressInfo" of cd "install" of stack 
"elsoInstaller"
  wait 1 sec
  set the customPropertySet of stack "elsoInstaller" to empty
  set the customPropertySet of stack "elsoInstallerLib" to empty
  -- tProgramFilesFolderPath  --> the path to the Programs folder -- < 
C:/Program Files >
  put fld "installPath" of cd "destination" of stack "elsoInstaller" into 
tProgramFilesFolderPath
  -- tAppFolder --> the name of OUR folder that contains the application we are 
installing -- < Report Card Pro >

  set the itemDel to "/"
  put item -1 of tProgramFilesFolderPath into tAppFolder
  --> put the uEnclosingFolderName of stack "elsoInstaller" into tAppFolder -- 
the user has control over this part of the path

  -- tAppName --> the name of the executable application we are installing -- < 
Report Card Pro >
  put the uAppName of stack "elsoInstaller" into tAppName
  -- tAppExecutablePath --> the fileName (Full Path) of the .exe
  put tProgramFilesFolderPath &"/"& tAppName into tAppExecutablePath
  -- save the full path in case we need to launch the app just before quiting 
this installer
  set the uLaunchPath  of stack "elsoInstaller" to tAppExecutablePath 
  replace "/" with "\" in tAppExecutablePath
  -- tDocExtension -- the "dot" extension that is associated with the 
application we are installing -- < .rcp >
  put the uFileExtention of stack "elsoInstaller" into tDocExtension
  if tDocExtension is empty then
     put "Ther was an error attempting to set the Registry because file 
extension information was missing" &cr after lErrorLog
     return "file extension missing"
     exit SetWindowsRegistry
  end if


  ------------------------------------------------------------------
  -- Set the Windows Registry if necessary --------
  ------------------------------------------------------------------
  -- Check to make sure the Windows Registry is set to associate the .rcp file 
extension with ReportCard_Pro
  if queryRegistry("HKEY_CLASSES_ROOT\"&tDocExtension&"\") <> tAppFolder then 
-- there is no Registry key for the file extension
     -- so let's set it up
     --1. Create a key in HKEY_CLASSES_ROOT for the extension, and use the 
default value to point to the name of the application
     -- get setRegistry("HKEY_CLASSES_ROOT\.tst\","TestApp")
     get setRegistry("HKEY_CLASSES_ROOT\"&tDocExtension&"\",tAppFolder)
     put the result into tResult
     if tResult is not empty then
        put "setRegistry error 1" && tResult &cr after lErrorLog -- Custom 
error reporting
        return tResult
     end if

     if lErrorLog is empty then
        --2. Create a key in HKCR for the application itself, using the default 
value to point to a descriptor of the kind of document used by the app 
        -- this will be used in list views to show the kind of file a document 
of TestApp is:
        -- get setRegistry("HKEY_CLASSES_ROOT\TestApp\","TestApp document")
        put tAppFolder && "document" into tAppDocAssoc
        get setRegistry("HKEY_CLASSES_ROOT\"&tAppFolder&"\",tAppDocAssoc)
        put the result into tResult
        if tResult is not empty then
           put "setRegistry error 2" && tResult &cr after lErrorLog -- Custom 
error reporting
           return tResult
        end if
     end if -- lErrorLog is empty

     if lErrorLog is empty then
        --3. Create a subkey of HKCR\TestApp to hold the default icon for the 
application. Rev document icons are in the first position
        -- get setRegistry("HKEY_CLASSES_ROOT\TestApp\DefaultIcon\","C:\Program 
Files\TestApp\TestApp.exe,1")
        put tAppExecutablePath & COMMA & "1" into tDefaultIconString
        get 
setRegistry("HKEY_CLASSES_ROOT\"&tAppFolder&"\DefaultIcon\",tDefaultIconString)
        put the result into tResult
        if tResult is not empty then
           put "setRegistry error 3" && tResult &cr after lErrorLog -- Custom 
error reporting
           return tResult
        end if
     end if -- lErrorLog is empty

     if lErrorLog is empty then
        --4. Create a subkey three layers deep in HKCR\ReportCard_Pro to hold 
the command to open the application when the document with the ".rcp" extension 
is launched. 
        -- The path to the document is defined in the registry as %1.
        -- get 
setRegistry("HKEY_CLASSES_ROOT\TestApp\shell\open\command\","C:\Program 
Files\TestApp\TestApp.exe %1")
        -- for my purposes the path will look like:
        -- C:/Program Files/Report Card Pro/ReportCard_Pro.exe
        put tAppExecutablePath&&"%1" into tSubKeyDblClickDocString
        get 
setRegistry("HKEY_CLASSES_ROOT\"&tAppFolder&"\shell\open\command\",tSubKeyDblClickDocString)
        put the result into tResult
        if tResult is not empty then
           put "setRegistry error 4" && tResult &cr after lErrorLog -- Custom 
error reporting
           return tResult
        end if -- tResult is not empty 
     end if -- lErrorLog is empty
  end if -- need to set the Windows registry
  ------------------------------------------------------------------

  return empty

end SetWindowsRegistry

-------------------------------------------------------------------------------------------------------------------------------
On Mar 2, 2010, at 10:48 PM, Scott Rossi wrote:

> Recently, I wrote:
> 
>>> For documents launching multiple instances see < relaunch >  in the
>>> dictionary 
>>> where there is a note to look at an example stack.
>> 
>> In my stack, the relaunch message is apparently not being called for some
>> reason.  I've tried placing it in the stack script and in a stack script
>> behavior, and still nothing is happening.  Still trying to figure out what's
>> going on.
> 
> Is it possible that the relaunch message is failing for me because I'm using
> a splash/data arrangement for my standalone?  My splash executable launches
> a data stack and then closes the launching stack.  Could this be why any
> subsequent launches of the EXE don't trigger the relaunch handler?
> 
> Regards,
> 
> Scott Rossi
> Creative Director
> Tactile Media, UX Design
> 
> 
> _______________________________________________
> use-revolution mailing list
> use-revolution@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution

_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to