Unable to create a sandbox from RTC Shell (6.0.5) on Windows 10, any suggestions?
I am running into the following error message whenever I try to create a New Sandbox on a system with a clean install of the RTC Shell Client (6.0.5) on my Windows 10 Pro machine:
CRRTC8500E: Error running SCM daemon (C:\Program Files\IBM\Rational Team Concert\Shell\3rd Party\scmtools\eclipse\scm.exe) on C:\RTC_Shell Workspace: System.ComponentModel.Win32Exception (0x800405): The requested operation requires elevation at System.Diagnostics.Process.StartWithCreateProcess(ProcesssStartInfo startInfo) at com.ibm.team.filesystem.service.fsdaemon.FilesystemDaemonInternalStart (IProgressMonitor monitor) in c:\RTC_BUILDS\I6.0.5_20171102-1953\Filesystem\FilesystemService\fsdaemon\FielsystemDaemon.cs:line 263
I have tried setting scm.exe with Run as administrator privileges, tried different locations, uninstalled/reinstalled RTC Shell client - all to no avail.
I do see this work (with the SAME login and SAME projects) when performed from a different machine (Windows Server 2012) so believe there is something 'special' about Windows 10 (Version 1709 (OS Build 16299.309).
Any suggestions would be appreciated :)
Accepted answer
The path C:\Program Files\IBM\Rational Team Concert\Shell\3rd Party\scmtools\eclipse\scm.exe is triggering my spider senses.
I would avoid installing into Program Files. Under Program files, if an application needs to create a folder it needs to be explicitly run as administrator.
Unfortunately the default install location in IM is also always Program Files, even for the server which causes many issues.
I can only hint NOT to install the CLM servers anywhere near Program Files, if you can avoid it and I would try the same for the clients. I am not sure if that cases it however.
One other answer
Hi Daniel,
We haven't seen that before. Can you try this for us? Open PowerShell and execute the following commands, these are equivalent of the code that we are using to start the scm.exe process from our RTC Shell Client.
PS > $p = New-Object System.Diagnostics.Process
PS > $p.StartInfo.FileName = "C:\Program Files\IBM\Rational Team Concert\Shell\3rd Party\scmtools\eclipse\scm.exe"
PS > $p.StartInfo.Arguments = "daemon start <New Sandbox Path>"
PS > $p.StartInfo.CreateNoWindow = $true
PS > $p.StartInfo.UseShellExecute = $false
PS > $p.StartInfo.RedirectStandardOutput = $true
PS > $p.StartInfo.RedirectStandardError = $true
PS > $p.Start()
Do you get the same exception?
Also, if you can, disable UAC and try to create the new sandbox in RTC Shell Client. Does it still fail?
Comments
Hi, Thank you for the suggestions.
a.) I disabled UAC and, unfortunately, had the same result.
b.) The PowerShell script yielded the following:
PS > $p = New-Object System.Diagnostics.Process
PS > $p.StartInfo.FileName = "C:\Program Files\IBM\Rational Team Concert\Shell\3rd Party\scmtools\ecli
pse\scm.exe"
PS > $p.StartInfo.Arguments = "daemon start C:\temp\rtc_workspace"
PS > $p.StartInfo.CreateNoWindow = $true
PS > $p.StartInfo.UseShellExecute = $false
PS > $p.StartInfo.RedirectStandardOutput = $true
PS > $p.StartInfo.RedirectStandardError = $true
PS > $p.Start()
Exception calling "Start" with "0" argument(s): "The system cannot find the file specified"
At line:1 char:1
+ $p.Start()
+ ~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : Win32Exception
Followup - I noticed the extra '\' in the StartInfo.FileName and re-ran the script after correcting. With this change the following was returned:
Exception calling "Start" with "0" argument(s): "The requested operation requires elevation"
At line:1 char:1
+ $p.Start()
+ ~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : Win32Exception
Thanks, and does it work if you run PowerShell as administrator? Also, when run as normal user, instead of scm.exe, can you run any other executable, say calc.exe?
Hi Daniel, I have asked my team to try this out too. I will update here with the results.
Hi Priyadarshini,
When running the script from a PowerShell launched as Administrator - the error did NOT occur.
Running calc.exe as a Normal User works fine.
Ralph, I had the same thought too, maybe scm.exe being in "Program Files" is the problem. Daniel, can you copy the "3rd Party" folder, say under your user directory and run as normal user from PowerShell? If that works, you can uninstall Shell and re-install it at a location that doesn't need elevation? Depending on the results, we will either think of a way to work this around in the Shell client or update our install help if we can't.
Ralph's thoughts seem to be on target. I copied the Rational Team Concert Shell files to a \Temp folder and re-ran the PowerShell script as a normal user with no issues.
It should be noted that the installer does include the following warning (which I did not pay attention to when I first installed the app):
"To run an application without administrative privileges on the current operating system, you must install the application package into a directory that is not virtualized. The Program Files directory on the current operating system is virtualized. To run an application with administrative privileges after it is installed, right-click the package and click "Run as administrator".
I did try the latter (at least I thought I did) before submitting this question. However, in the end I will simply re-install it to a different location. Thanks for your guidance :)
1 vote