On Sat, Apr 5, 2014 at 2:15 PM, Art Heimsoth <artstore@artheimsoth.com> wrote:
Is there something that will allow the current process level to be
tested, and elevated if required from ooRexx or ooDialog?  

This is not as easy as it would seem.

Typically what you have to do is start a new process with the elevated status.  I've done that in the oodialog.exe that is available in ooDialog 4.2.3.  The testing of the current process for the required access is done and I can make that part available through ooDialog.

The starting of the a new process is not so easy.  Probably would need to start a new version of the interpreter to carry out the command.  This is doable I think, and I've toyed with the idea of implementing it in ooDialog, but haven't worked on finishing it up.

You can get an idea of how it works by running:


Then on the dialog that comes up, check the "Configure other ooDialog services" check box at the the bottom left of the dialog.  Once that is checked, click the "Continue" button on the bottom right.  This will bring up another dialog.

In that dialog, check the "For all users" radio button.  Now, providing you are not already running as Administrator", you will see that the "Configure" button has the 'needs admin privilege" logo on it.  When you click on the button, you will get the prompt to allow Admin privileges.  If you do allow Admin privileges, the dialog is restarted with elevated privileges.

So, up to there is already code and tested, except for the restarting part.  The restarting part is currently code in C++ for the specific purpose of the dialog.  

What I'm thinking is, that at that point a new interpreter could be started, with elevated privileges.  There are a number of options here.  You could pass the new interpreter a script to run, you could just let the interpreter run, you could ...?

would like the capability to raise the credentials of the current
user if it is not already at the appropriate level for the operation
to be performed; ie, writing to the root drive of the boot partition,
and then returning the credentials back after the operation has
been completed.

So, there is nothing to do it yet, but it is probably possible to do.

Mark Miesfeld