Remove Legacy client and replace with latest new client?
-
@jmeyer said:
How are you sure that old client is version 3.0.29 ?
I pulled the latest FOG Trunk on Sunday at home, and installed the legacy client.
Running this command will return all software installed on Win7:
wmic product get > products.txt
and the legacy fog client reports that it is version 3.0.29.
-
So I’m not having any luck with either of the scripts, as a startup script or a shutdown script.
They run if I just double click on them. But not as a startup script through group policy.
I’m about to just test a simple script to remove the old client by ID - and then install the new client through group policy.
-
I ended up going with just a one-liner to uninstall the old client with msiexec by ID, and then I used Orca to edit the new MSI to point to the correct address, and I used Group Policy Software Deployment to push out the new MSI.
My building is officially running the new client.
-
@Wayne-Workman I don’t know the use of “setlocal”. I did my best keeping it since script wasn’t working at all without but I start to think it’s messing somewhere.
Maybe the “start /wait” is ignored because of this ?
I haven’t test it via GPO since my simple one made before was working fine but had to put all msi with it. -
@Wayne-Workman I’ll work a bit more on the script.
edit :IF %PROCESSOR_ARCHITECTURE%==AMD64 set programpath=%programfiles(x86)% IF %PROCESSOR_ARCHITECTURE%==x86 set programpath=%programfiles% IF EXIST "%programpath%\FOG\fog.ca.cer" GOTO END set FogServerIP=fogserver set GetID=wmic product where "Version like '3.0.29' and name like 'FOG Service'" get IdentifyingNumber for /F "skip=1 delims=" %%i in ('%GetID%') do if not defined ID set "ID=%%i" IF "%ID%" NEQ "" start /wait msiexec /x %ID% /q start /wait bitsadmin /transfer FOGService /download /priority normal http://%FogServerIP%/fog/client/FOGService.msi %temp%\FOGService.msi start /wait msiexec /i %temp%\FOGService.msi /quiet WEBADDRESS="%FogServerIP%" :END
This should works but I don’t know wwhy my download end in queue when there is nothing else to do and I can’t install client silently… I love computers…
-
@jmeyer That’s a lot cleaner, I like the GOTO END part. I haven’t seen that since I was studying a then-obsolete book on Visual Basic back in 1999 that I got for a quarter at a school library sale. It takes me back.
-
@Wayne-Workman Hi Wayne and co. Just trying these scripts now and have hit another hurdle in that the new client fails to install with error:
Failed to download CA certificate
I’ve searched the forum and can see that others have had this issue in the past but the solution was never made clear.
Suggestions? I’ve updated to latest git version this morning (15Dec15 around 1200 GMT).
regards Kiweegie
-
@Kiweegie Exactly what version of FOG are you on, what version of the new client?
-
@Wayne-Workman Hi Wayne
git log
shows as
git-svn-id: https://svn.code.sf.net/p/freeghost/code/trunk@4541 71f96598-fa45-0410-b640-bcd6f8691b32
However there are a couple of commits above that last of which is
commit f34289f60d81c9d95149e3bb78982ba017f6b932 Merge: 259e115 0918efb Author: Tom Elliott <tommygunsster@gmail.com> Date: Mon Dec 14 21:58:04 2015 -0500 Merge svn with dev-branch
The legacy client version on old machines is 3.0.29 - I can remove that manually or via script no problem. I don’t know what version the new client is as can’t install it and /var/www/html/fog/client doesn’t show a version number in text file etc.
I’ve also checked certmgr.msc on client machines in case there was already a new FOG client cert on there but nothing in evidence.
cheers, Kiweegie.
-
-
@Wayne-Workman Wasn’t in same high school. I didn’t create new DNS entry yet. I changed just to test the script. I’ll set fog-server right now ! lol
I just tested my script after installing old client and all look to work.I just installed the msi stored on windows and it’s smaller than the one in SVN but has the same version… Exactly 3ko less…
Who the hell repack the client and don’t change the version ?Here is the one I had : 0_1450198784192_FOG Service Installer Old.msi 784 ko
Anyway, script works fine using “IdentifyingNumber”.
@Kiweegie I only had this when old client wasn’t removed.
-
@Wayne-Workman Hi Wayne, yes I edited fogserver variable to be my actua FOG server dns name…
Note the issue is not with the script per se. at least not in my case but one of the CA Cert not being found or downloaded for FOG new client.
regards Kiweegie.
-
To uninstall old fog client and install new I’m using this script.
wmic product where "name = 'FOG Service'" call uninstall /nointeractive copy \\upow-8.intranet\Public\FOGService\FOGService.msi c:\windows\temp\ %systemroot%\system32\msiexec.exe /i c:\windows\temp\FOGService.msi /qb sc start "FogService"
On client must be .Net framework 4 installed.
Regards -
@robza said:
wmic product where “name = ‘FOG Service’” call uninstall /nointeractive
I tested twice and it removes the new client even after I checked that name was “FOGService” without space.
C:\Users\administrateur>wmic product where "name = 'FOG Service'" call uninstall Exécution (\\MANAGEMENT7\ROOT\CIMV2:Win32_Product.IdentifyingNumber="{FA5F2860-A 80B-46B9-9EF9-8228C3E9A663}",Name="FOG Service",Version="0.9.9")->Uninstall() Méthode exécutée. Paramètres de sortie : instance of __PARAMETERS { ReturnValue = 0; };
-
Here is the new version using robza command for removing the old client that makes.
We reduce a bit the size of the script this way and I just realized that one IF was useless.
I hope I didn’t miss something because I am putting it in GPO ! lol::v3.1 - Thanks to Wayne Workman, Robza set programpath=%programfiles(x86)% IF %PROCESSOR_ARCHITECTURE%==x86 set programpath=%programfiles% IF EXIST "%programpath%\FOG\fog.ca.cer" GOTO END set FogServerIP=fog-server start /wait wmic product where "Version like '3.0.29' and name like 'FOG Service'" call uninstall /nointeractive start /wait bitsadmin /transfer FOGService /download /priority normal http://%FogServerIP%/fog/client/FOGService.msi %temp%\FOGService.msi start /wait msiexec /i %temp%\FOGService.msi /quiet WEBADDRESS="%FogServerIP%" :END
Just found a bug on my side.
Client 0.9.9 doesn’t remove or upgrade version 0.9.7 and I end with 2 “FOG Service” in add/remove software panel.
Removing the 0.9.7 doesn’t impact the install of the 0.9.9.
Maybe it’s something to add to script. -
-
@Wayne-Workman https://forums.fogproject.org/topic/6353/upgrade-client-from-0-9-7-to-0-9-9/3
I don’t know yet how it happened I don’t have this on every host.
Maybe I am just unlucky. lol -
@Wayne-Workman Upgrading to 0.9.7 was a very bad idea ! lol
https://forums.fogproject.org/topic/6368/client-updater-loopNow i need to review the script to remove 0.9.7 and 0.9.9 is both are installed…
Any idea how to do this ?I temporary did this since i have no other choice :
::v3.2 - Thanks to Wayne Workman, Robza start /wait wmic product where "Version like '0.9.7' and name like 'FOG Service'" call uninstall /nointeractive start /wait wmic product where "Version like '0.9.9' and name like 'FOG Service'" call uninstall /nointeractive set programpath=%programfiles(x86)% IF %PROCESSOR_ARCHITECTURE%==x86 set programpath=%programfiles% IF EXIST "%programpath%\FOG\fog.ca.cer" GOTO END set FogServerIP=fog-server start /wait wmic product where "Version like '3.0.29' and name like 'FOG Service'" call uninstall /nointeractive start /wait bitsadmin /transfer FOGService /download /priority normal http://%FogServerIP%/fog/client/FOGService.msi %temp%\FOGService.msi start /wait msiexec /i %temp%\FOGService.msi /quiet WEBADDRESS="%FogServerIP%" :END
-
@jmeyer I think the best bet would be to see if you can add a few checks. First you need to see if the legacy client is installed and remove it if it does exist. Second, if there is not other client installed, install A NEW client. I emphasize on the A in hopes it means installing one. Don’t scan for a version and only install the new client if there isn’t one installed. The new client will update itself so there should be no need to specify one version over another.
-
@Tom-Elliott Client 0.9.7 doesn’t update itself. That’s the big problem.