Or even without WSH you can use shellexecute example:
DECLARE INTEGER ShellExecute IN SHELL32.DLL ;
INTEGER nWinHandle,;
STRING cOperation,;
STRING cFileName,;
STRING cParameters,;
STRING cDirectory,;
INTEGER nShowWindow
lcOperation = "Open"
lcFilename = "cacls.exe"
lcParams = "c:\directory /T /E /P Everyone:F"
ShellExecute(0,lcOperation,lcFilename,lcParams,"",0)
Cacls.exe is present on any Windows version from nt4 or above, not in Win95/98 or millennium.
Now if you where to use .NET 2.0 this could also be done inside the framework not needing to call any outside exe's.
>Good tip.
>
>If WSH is allowed, one can use that for the use of CACLS. The advantage is that, as compared to using RUN, the appearance of the dos-window can be suppressed with the 3rd parameter.
>
>
oShell = createobject("WScript.Shell")
>lcRun = "CACLS file.txt /P JIM:F < yes.txt"
>lnRC = oShell.Run(lcRun, 1, .T.)
>
>
>>What about using CACLS.EXE since that is present on any machine running winnt 4 or above.
>>
>>>>True. However, it is more than nothing. What do you additionally suggest?
>>>
>>>I thought of SetFileSecurity but I don't have ready out of the box code for that one.
>>>Cetin
Alexandre Palma
Senior Application Architect