GE has been tight lipped on this - we have enough trouble manually touching to 33 Fat Clients, can only imagine how bad it is for larger facilities.
Looking for ideas / solutions. How are you folks getting this done?
Had a GE Project Mgr send me to CHUG for more info, but am also filing an "Enhancement Request".
Am hearing CPS SP12 due out by EOY, SP12 by end of January and 12.2.0 by end of First Quarter 2016. That's a LOT of touching!
Thanks!!
Ted
(First time post - sorry if I put it on the wrong board)
They have been promising this one for quite a while with no progress. I have 60 Clients I have to update, by myself, so I feel your pain. The best I have been able to do is create a short cut with preloaded Admin credentials to open IE and start the uninstall/install process. I start the install on a large portion of the clients and then make rounds clicking on all the links then hitting enter key 5 times and so on till I have all of them installed. If I am quick, it takes me around 2.5 to 3 hours to get them all done.
Currently will recruit 5 / 6 Techs who can remote in and install to the workstations over the weekend. That has been working OK so far.
We have Labtech installed on the workstations, so scripts can be deployed automatically - having the .CAB download ahead of time would help I suppose.
Along with the Client install we usually have EDI Plug-ins, EMR-Link setup and a batch file to copy the CC files back to the local machine. We MIGHT be able to do the add ons with scripts - have the Scripting Genius working on it.
Just seems very convoluted in this day and age of remote scripted installs.
Thanks Very Much for your insight and info!!
Dameware remote software has been a life saver here. I can pull up 10 or more at a time and just round robin through the screens. Surprising how much time it saves without the leg work. We use the jobs.txt for custom reports needed as wells as CCC.
https://blogs.vmware.com/euc/2015/04/vmware-horizon-client-chrome-os-early-access-program.html
has anyone on this forum considered this as an option?
I have been able to automate the installation/upgrade of CPS 12 somewhat. In a nutshell, I create a share with the upgraded CPS client installer and run it silently on workstations using a custom logon script.
Said script needs to be assigned to a user with enough rights to install an application for all users on the workstation. This approach assumes Centricity is being used in a Windows domain environment.
I wouldn't consider this a solution but rather a workaround. It is a work-in-progress and could use a great deal of polish. That said, it works...and shaved off about 50% of the time it used to take us to perform upgrades (4-6 hours less). Upgrading ~150 endpoints used to be much, much more painful.
- Create a file share on a server and give a desired user enough permissions to browse and read from it. In this example, I will use the SMB share \\fileserver\share\.
- Within the share, create a directory called cps12\
- Visit engage.gehealthcare.com and download the "Full Build" of the version of CPS you are upgrading to.
- Open the .ZIP you downloaded and copy the contents of Disk1/CPS_12_Client folder to \\fileserver\share\cps12. Exclude copying CPS_12_Client.pdf, setup.iss, silentinstall.bat, and silentuninstall.bat. These are not needed for this approach.
- Open a text editor and create a batch file named upgrade.bat.
- Within upgrade.bat, paste this one-liner:
- Save upgrade.bat to \\fileserver\share\cps12\
- Create a new batch file named upgrade_step2.bat
- Within upgrade_step2.bat, paste this not-so-one-liner (update the ITShare, CPSVersion, and CPSUrl variables as appropriate):
- Save upgrade_step2.bat to \\fileserver\share\cps12\
- Select a domain user and assign \\fileserver\share\cps12\upgrade.bat as its logon script. If you do not care to see the status of the upgrade, you should be able to skip upgrade.bat and set the user's logon script to \\fileserver\share\cps12\upgrade_step2.bat.
- Begin logging in as a privileged user on each endpoint that needs to be upgraded. You can do this before you begin the server upgrade and as soon as the endpoint is no longer in use for the day. The upgraded Centricity client will not work again, however, until after the server upgrade is complete.
- The script from step 8 will silently upgrade the Centricity client. When the upgrade completes, do not "press any key to continue..." Wait until you complete steps 14 and 15 or you will have to re-register GE's Internet Explorer plugin after the server upgrade.
- Perform server-side CPS upgrade on database and then application/jBoss server.
- If used in your environment, clean up jobs.txt
- Return to the workstations, unlock the computer with the same privileged user, and finally "press any key to continue..." This will launch Internet Explorer and prompt to install the required plugin.
- If used, jobs.txt will be processed
- The new version of Centricity will launch.
start \\fileserver\share\cps12\upgrade_pt2.bat
@echo offsetlocal
SET ITShare=\\fileserver\share\cps12
SET CPSVersion=12.0.11
SER CPSUrl = http://appserver:9080/centricityps/cpsset IS_PRODUCT_ID={70B2D1A4-C3DE-460C-9A34-D9C42193EB42}
set SETUP_PATH=InstallShield Installation Information\%IS_PRODUCT_ID%ECHO Step 1 of 4:
ECHO Detecting installation of Centricity Practice Solution 12.If NOT %PROCESSOR_ARCHITECTURE%==x86 goto x64
:x86
set regpath=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\InstallShield_%IS_PRODUCT_ID%
reg query "%regpath%" /v "InstallLocation" > NULL 2>&1
if NOT %ERRORLEVEL% == 0 goto errors
For /F "tokens=* delims=" %%A in ('reg query "%regpath%" /v "InstallLocation"') Do (
set CLIENT_PATH=%%A
)
set CLIENT_PATH=%CLIENT_PATH:~-53%
set CLIENT_PATH=%CLIENT_PATH%##
set CLIENT_PATH=%CLIENT_PATH: ##=##%
set CLIENT_PATH=%CLIENT_PATH:##=%
IF EXIST %ProgramFiles%\%SETUP_PATH%\setup.exe" (
ECHO CPS 12 detected. Removing previous version from this machine...
"%ProgramFiles%\%SETUP_PATH%\setup.exe" /w /s /f1"%CLIENT_PATH%\uninstall.txt"
)goto INSTALL
:x64
set regpath=HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\InstallShield_%IS_PRODUCT_ID%
reg query "%regpath%" /v "InstallLocation" > NULL 2>&1
if NOT %ERRORLEVEL% == 0 goto errors
For /F "tokens=* delims=" %%A in ('reg query "%regpath%" /v "InstallLocation"') Do (
Set CLIENT_PATH=%%A
)
Set CLIENT_PATH=%CLIENT_PATH:~-62%
set CLIENT_PATH=%CLIENT_PATH%##
set CLIENT_PATH=%CLIENT_PATH: ##=##%
set CLIENT_PATH=%CLIENT_PATH:##=%
IF EXIST "%ProgramFiles(x86)%\%SETUP_PATH%\setup.exe" (
ECHO CPS 12 detected. Removing previous version from this machine...
"%ProgramFiles(x86)%\%SETUP_PATH%\setup.exe" /w /s /f1"%CLIENT_PATH%\uninstall.txt"
)
goto INSTALL:errors
Echo No CPS client was found on this machine.:INSTALL
SET CPSTempInstallDir=%SystemDrive%\cps%CPSVersion%
ECHO.
ECHO Step 2 of 4:
ECHO Preparing for CPS client upgrade.ECHO Copying installation files to temporary directory...
robocopy /NS /NC /NP /NDL /NFL /NJH /NJS /MT /E /Z /R:10 /W:10 %ITShare%\cps%CPSVersion% %CPSTempInstallDir% /XF upgrade*.batECHO Generating architecture-specific setup.iss.
ECHO [{70B2D1A4-C3DE-460C-9A34-D9C42193EB42}-DlgOrder] >> %CPSTempInstallDir%\setup.iss
ECHO Dlg0={70B2D1A4-C3DE-460C-9A34-D9C42193EB42}-SdWelcome-0 >> %CPSTempInstallDir%\setup.iss
ECHO Count=6 >> %CPSTempInstallDir%\setup.iss
ECHO Dlg1={70B2D1A4-C3DE-460C-9A34-D9C42193EB42}-SdAskDestPath-0 >> %CPSTempInstallDir%\setup.iss
ECHO Dlg2={70B2D1A4-C3DE-460C-9A34-D9C42193EB42}-SdShowDlgEdit1-0 >> %CPSTempInstallDir%\setup.iss
ECHO Dlg3={70B2D1A4-C3DE-460C-9A34-D9C42193EB42}-SdComponentDialog2-0 >> %CPSTempInstallDir%\setup.iss
ECHO Dlg4={70B2D1A4-C3DE-460C-9A34-D9C42193EB42}-SdStartCopy-0 >> %CPSTempInstallDir%\setup.iss
ECHO Dlg5={70B2D1A4-C3DE-460C-9A34-D9C42193EB42}-SdFinish-0 >> %CPSTempInstallDir%\setup.iss
ECHO [{70B2D1A4-C3DE-460C-9A34-D9C42193EB42}-SdWelcome-0] >> %CPSTempInstallDir%\setup.iss
ECHO Result=1 >> %CPSTempInstallDir%\setup.iss
ECHO [{70B2D1A4-C3DE-460C-9A34-D9C42193EB42}-SdAskDestPath-0] >> %CPSTempInstallDir%\setup.issECHO szDir=%ProgramFiles(x86)%\Centricity Practice Solution\Client\ >> %CPSTempInstallDir%\setup.iss
ECHO Result=1 >> %CPSTempInstallDir%\setup.iss
ECHO [{70B2D1A4-C3DE-460C-9A34-D9C42193EB42}-SdShowDlgEdit1-0] >> %CPSTempInstallDir%\setup.iss
ECHO szEdit1=%CPSUrl% >> %CPSTempInstallDir%\setup.iss
ECHO Result=1 >> %CPSTempInstallDir%\setup.iss
ECHO [{70B2D1A4-C3DE-460C-9A34-D9C42193EB42}-SdComponentDialog2-0] >> %CPSTempInstallDir%\setup.iss
ECHO Component-type=string >> %CPSTempInstallDir%\setup.iss
ECHO Component-count=1 >> %CPSTempInstallDir%\setup.iss
ECHO Component-0=CPSClient >> %CPSTempInstallDir%\setup.iss
ECHO Result=1 >> %CPSTempInstallDir%\setup.iss
ECHO [{70B2D1A4-C3DE-460C-9A34-D9C42193EB42}-SdStartCopy-0] >> %CPSTempInstallDir%\setup.iss
ECHO Result=1 >> %CPSTempInstallDir%\setup.iss
ECHO [{70B2D1A4-C3DE-460C-9A34-D9C42193EB42}-SdFinish-0] >> %CPSTempInstallDir%\setup.iss
ECHO Result=1 >> %CPSTempInstallDir%\setup.iss
ECHO bOpt1=0 >> %CPSTempInstallDir%\setup.iss
ECHO bOpt2=0 >> %CPSTempInstallDir%\setup.issECHO.
ECHO Step 3 of 4:
ECHO Installing upgraded CPS client...
%CPSTempInstallDir%\setup.exe /w /sREM ECHO Registering ActiveX plugin...
REM regsvr32 /s %CPSTempInstallDir%\MBCInstaller90.dll
REM ECHO Done.ECHO.
ECHO Step 4 of 5:
ECHO Removing temporary installation files.
rmdir /s /q %CPSTempInstallDir%ECHO.
ECHO Upgrade complete!ECHO.
PAUSEECHO.
ECHO Step 5 of 5:
ECHO (5/5) Launching Centricity Practice Solution 12...
"%SystemDrive%\Users\Public\Desktop\CPS 12 Client.url"EXIT
Notes:
On Windows 8+, logon scripts are delayed by default. A temporary GPO to reduce the delay to 0 seconds is useful here. Only apply the GPO to your privileged user.
I usually make a lap around the office(s) and restart the endpoint (to make sure all users are logged off and that nothing should interfere with the upgrade). I make another lap to login as the privileged user (to start the silent upgrade). I make a final lap and exit the script (to register the IE plugin) and restart the computer one last time.
The lengthy uninstall portion in upgrade_step2.bat was copied directly from the silentuninstall.bat script that comes with the CPS 12 Client installer.
We used to have it automated (after a lot of work to get it that way), however, with the last couple of versions, our process has not worked because of the ActiveX component that needs to be registered with Internet Explorer being run as Local Admin or Power User. So we've divided and conquered a couple hundred clients over the weekend. It's one of the reasons I just laugh when GE suggested they do the SP11 upgrade for us.
A standard Windows MSI that can be installed quietly (also uninstall the old client if necessary) and without user or admin intervention would be much appreciated. And yes, they've been promising an improved installation process for years and delivered pretty much nothing except the server configurator which isn't even that handy because I only have one or at most a couple app servers to deal with and hundreds of fat clients and terminal servers. If they could produce that for the client install and allow me to pump it a list of machines or something, that would be progress. Or just a standard MSI so we could use Zenworks, System Center, PSExec, or other standard tools to push it out. It's one of many reasons we're starting to look seriously at moving away from GE.
Forgot to mention: I have been told several times lately by support that the MSI is scheduled for CPS 12.2. It may be scheduled for end of first quarter, 2016, but I assume is going to be released second or third quarter.
We have automated our. WE do the silent install and copy any file automatically with PDQ deploy.
we also register the DLL on internet explorer remotely
this is our command to register the Dll remotely.
xcopy "\\SHAREStorage\InstallFiles\CPS12 SP11\MBCInstaller90.dll" "C:\Program Files (x86)\Centricity Practice Solution\Client\" /e /y
cd C:\Program Files (x86)\Centricity Practice Solution\Client\
regsvr32 /s MBCInstaller90.dll
exit
the original location of the MBCinstaller90.dll is on your jboss server.
C:\Program Files\Centricity Practice Solution\jboss\server\default\deploy\cps.war\install
copy this file to a sharepath and have it copy to each workstation and run the command like on my quote.
Can Anyone show me how to do the silent install with PDQ?
I use mRemote because I like the interface a bit better. But yeah, manually going PC to PC is for the birds. I can do 85 clients in about 6 hours with mRemote (or DameWare). That includes installing those plug-ins.
But seriously...what is this, 1995? Hard to believe..
Maybe new ownership will be willing to go the extra few feet to give us an MSI.