Why does Ignition put its local files in the root of the user folder on Windows? Is there a way to change it so that it puts its files in the AppData folder and into the correct sub folders of Local and Roaming? I am trying to figure out a good way of deploying Vision Client Launcher and the Window admins do not like how Ignition puts the .ignition folder in the root of the user folder. They say this is more of a unix/linux environment type of way of doing it. If I cannot get it to go into AppData correctly is there a place I can at least override the root of the user folder and tell Ignition to put it somewhere else?
In our environment when a reboot occurs everything in the user folder is lost except the users home directory folders AppData, Documents, Desktop, and Photos.
The launchers don’t support this directly, however you can place a clientlauncher-data folder next to the launcher executable and that will be used instead of the one at ~/.ignition/clientlauncher-data. If you did that coupled with the redirect.txt file should get you out of the .ignition directory.
See HERE for more information about deploying self-contained launchers.
Hope that helps,
edit: I did open a ticket for the launchers to respect the redirect.txt file as well in case that is easier than setting up a pre-packaged launcher
Having a clientlauncher-data folder next to the visionclientlauncher.exe does not seem to work. I tried it with ignition version 8.0.7 which is vision client launcher version 1.0.7. It still recreates a .ignition folder in the user home directly and sets up a new clientlauncher-data\vision-client-launcher.json file.
So it looks like on windows its looking one directory up. so clientlauncher-data would be next to the Vision Client Launcher directory (The top level install directory). This is not intended and I have a fix pending that is targeted to make it into 8.0.9.
There are a couple of options for deploying this launcher in a more global scope for users etc:
Install somewhere on the network and provide a clientlauncher-data dir next to the install directory.
Use scripting to deploy a configured launcher to users machines
Launcher configurations can be exported and imported from the settings menu. Configure the launcher the way you want it and export it. It can be imported in the GUI of the launcher or dropped into whatever clientlauncher-data directory is necessary.
It looks like an MSI version of the launchers is what you are ultimately looking for. I would head over to https://ideas.inductiveautomation.com/ and see if there is currently an idea submitted for this, if not you can create one . If it gains enough traction we could look into it and prioritize appropriately.
Im sure there are other users on here that may have other suggestions as well.
Getting closer. Now with the clientlauncher-data folder in the right spot with the json file, the launch opens up with the list of apps without having to have the json config file in the users .ignition folder. Now I am running into an error when I try to launch a project.
Shouldn’t it be looking in the same place as the json config file is and not my users folder?
Yeah this doesn’t look right. It appears that the relaunch doesn’t know where to look for the required jar. Looking through the codebase its not obvious there is a way around this. I just opened a ticket for this
With the 7.x client launcher this all worked smoothly, we put the clientlauncher.exe NEXT to the clientlauncher-data folder and the jre folder next to the clientlauncher.exe and all worked happy. I built installers with InnoScript and we use our corporate IT tools to deploy, works great. I put everything into C:\ProgramData and give users r/w to the clientlauncher-data folder so local changes to the preferences stick around.
With visionclientlauncher.exe I am finding you need the .exe and the jre IN the clientlauncher-data folder. I hope this is a bug, because in this case it is harder to control permissions, I only want PC admins to be able to modify or move the JRE and visionclientlauncher.exe. If those have to be within the clientlauncher-data folder it makes the install easier to break and permissions harder to maintain.
As for the above issue I am getting the exact same error when trying to launch a client. Sure enough, if I copy the lunchclient.jar from my custom clientlauncher-data folder to the ~.ignition\clientlauncher-data folder the launch happens fine…
Another question… is having the visionclientlauncher.exe IN the clientlauncher-data folder intended? I ask because this is in contrast to the 7 launcher where the exe and jre were NEXT to the clientlauncher-data folder…
If this is the case, then it seems the name of the folder doesn’t even matter anymore just that all the configuration and needed files are in the same folder for the 8 launcher.
As an point of wisdom from my failures to others… if you are doing your own custom install make sure you allow all users write access to the clientlauncher-data and jre folders (In 7.9 only needed the clientlauncher-data folders) because the new launchers make changes to the jre for updates and ssl cert imports that will fail if the user running the launcher cannot write to the jre folder.
Facing a similar issue here Separate post for clarity
I put redirect.txt on .ignition/ directory, it managed to move away from the .ignition directroy for creating clientlauncher-data to the desired location. However, it still tries to extract chromium related files in C:\Users… . Is there a way to redirect that as well to a location where running executables are not blocked by groupd policy.
Well the launcher was indeed installed by an administrator, however the Chromium binaries were extracted into a default C:\Users… Supplying addtion JVM parameters solved this problem. Here I found my solution