What about creating a junction or symbolic link between those two folders?
Creating this will still require elevated admin rights. But any future updates to the source in C:\ptc\startup_scripts_3 will not, and the contents will be visible an accessible as if they existed under C:\ProgramData\...
mklink /D "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Creo 3 Software" "C:\ptc\startup_scripts_3\Creo 3 Software"
Using this approach, you don't have to mess with the permissions under ProgramData.
Symbolic links caneven reference network locations.
Use this command to see what is allowed by any Group Policies:
fsutil behavior query SymlinkEvaluation
I don't recall where I got the following code fragment, buthave used it to elevate a batch file using VBS on-the-fly.
:: check for necessary permissions
"%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" >nul 2>&1
if "%ERRORLEVEL%" NEQ "0" (
echo Elevated Administrative privileges are required
echo Set UAC = CreateObject^("Shell.Application"^) > "%TEMP%\getadmin.vbs"
echo UAC.ShellExecute "%~s0","<args here=">",","runas",1 >> "%TEMP%\getadmin.vbs"
cscript //nologo "%TEMP%\getadmin.vbs"
exit /B 5
Must admit we also generally use network installs of all 14 cad variants we use with Windchill.
Currently developing a multi-cad launch tool that copies nay neccessary config for each system localy to the client (also has the advantage of giving users licence visibility before they launch CAD).
We do have some laptop users, but areinvestigating using windows'off-line' folders so that laptop users can sync the app they need locally when they need to work off-line.
If anyone has experience either good or bad on this last bit would be good to hear.