Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X
Hey,
I wanna execute following command every 15 minutes via Task Scheduler (Windows 7 Enterprise SP1):
si.exe resync --forceConfirm=yes hostname=*** --port=8893 --user=*** --password=*** --sandbox=D:\Folder\Folder\project.pj
It's working fine when using my windows user as user account in Task Scheduler.
Cause I wanna have it working even if no user is logged in, I'm using SYSTEM user.
Using SYTEM user will cause following error:
si.exe: Attempt to launch Integrity Client timed out. To solve this please try the following:
- Verify that the user you are logged in as has read and write permissions to the Integrity Client install directory.
- Make sure the Integrity Client install directory is the very first entry in the path.
Checked the internet and tried a lot:
- MAN_CHM_INDEX, MAN_HTM_PATHS, MAN_TXT_INDEX, PATH, ROOTDIR are identically with my windows user. Anyway, created a .bat and use set before the si.exe command. No change in result.
- Integrity Client is the first in path, for sure.
- Wrote a powershell script to check availbility of URL/Port for SYSTEM user. Tired to use IP instead of URL. No change in result.
- SYSTEM user has full access to all files and folders on all hard discs, checked twice.
- Tried si.exe connect & si.exe exit. Both commands end with time out as well.
For hints I would be very grateful,
Aleks
Solved! Go to Solution.
When you run the "si" command as SYSTEM, it's trying to start a new instance of the IntegrityClient. To run two different instances of IntegrityClient on the same machine, you need to have the following line in the IntegrityClient.rc file: IntegrityClient.port=0
But this will not solve your problem. A new instance means that the sandboxes will not be the same. What you really want to do is run using the same instance directory as your client is using. You can do this by defining the MKS_IC_INSTANCE_DIR environment variable.
You will still have trouble because the client by default will create a system tray icon. You can disable this in the Integrity Client preferences.
When you run the "si" command as SYSTEM, it's trying to start a new instance of the IntegrityClient. To run two different instances of IntegrityClient on the same machine, you need to have the following line in the IntegrityClient.rc file: IntegrityClient.port=0
But this will not solve your problem. A new instance means that the sandboxes will not be the same. What you really want to do is run using the same instance directory as your client is using. You can do this by defining the MKS_IC_INSTANCE_DIR environment variable.
You will still have trouble because the client by default will create a system tray icon. You can disable this in the Integrity Client preferences.
Hey Awalsh,
thanks for your answer!
* Added IntegrityClient.port=0 to IntegrityClient.rc and IntegrityClientSite.rc
* Added MKS_IC_INSTANCE_DIR as System Variable and "set D:/mksdir/" into batch file. Copy/pasted .mks, SIDist, IntegrityClient.rc, etc. from the previous path to new one. Previous was C:/user/username, which might be a problem.
* Disabled the system tray icon
* Recreated my Sandbox as shared
* Reboot system
Still same time out 😞
I think you will need to open a case with PTC support to figure out what's going on.
I tried the same procedure on my local PC (problem is on Server) => Working fine
So, this seems to relate to my Windows user and/or SYSTEM users rights, which is a task for our IT
Or maybe I messed something up at the first time which is not reverseable with afull reinstall, idk
Anyway, contact our IT to check rights and ordered another server
Sadly our IT works super slow, so it would take month 😞
If somebody had a similar problem, maybe I can speed up the process with more detailed information?
Thanks & have a nice weekend
My final compromise was to use a local user for this purpose as, in cause of security reasons, it wasn't possible for our IT to get it working with SYSTEM user.