Hello.
I’ve been seeing a lot of posts here lately of people asking how to Install or Update the E10 Client Files on User PCs and Laptops (or even Servers).
I’m not sure if this will be helpful or if I’m just going to embarrass myself but I wanted to share what I did to push out the E10 client files to our ~100 User PCs and Laptops (this even works on Terminal Servers like Citrix) to see if it might be of some help to someone.
Disclaimer: Please understand that this is only ever the second Powershell script that I’ve written in my life so it is very basic and there are probably much better ways to program this process but this is what worked for me. Please change the script in a way that makes sense to you and please understand the paths that you are using inside this script. And TEST, TEST, TEST on a single system to make sure it is working the way you need it to.
So here’s what I did…
First I copied all of the .16 Update Client files (the latest version we are on currently) from my \erplive\Epicor\ERP10\ERP10.1.600.0\Updates\ERP10.1.600.16\ClientDeployment\ReleaseClient.zip location:
And pasted them into our \erplive\ERP10.1.600.0Deployment\Client folder so that all of the .16 client file updates were applied to this single Client file location. (This allowed me to bring together ALL of the Client files that were needed to run the Client with our latest dot patch release into one folder that could be copied to each machine.)
I also created a folder that contained the E10 icon shortcuts (Shell, Classic and MES) so that they could be copied from this location to the local system by the Powershell script too:
You want to make sure that each icon is setup to point to the location on the local machine where the client files will be installed:
I created this Powershell script to copy the E10 client files and icon shortcuts locally to the PC or Laptop (or Server) that the user was logged into at the time of running it:
$LocalInstall_E10Path = 'C:\Epicor\ERPLIVE_101600Client\'
$E10ClientFilesSource = '\\erplive\ERP10.1.600.0Deployment\Client\'
$LocalE10IconsPath = 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Epicor Software\Epicor ERP Version 10.1 Client\ERPLIVE\'
$IconsShortcutSource = '\\server1\d\mis_data\Drivers and Programs\Epicor\Epicor 10\Migration from E9\_Falcon Migration\Client Installation\ERPLIVE Icons\'
#If there is already an ERPLIVE_101600Client file out there DELETE it and all of its contents completely.
If (Test-Path $LocalInstall_E10Path)
{
#Check Date on Existing E10 Client File Folder and if older than specified Date value, re-install Client Files and Icons otherwise exit Script and do not run.
$OldInstall = Get-Item $LocalInstall_E10Path | Where-Object {$_.LastWriteTime.Date -lt "12/01/2017"}
If (-NOT($OldInstall))
{
Exit
}
Else
{
Remove-Item $LocalInstall_E10Path* -Recurse -Force
}
}
#If there is already an Existing ERPLIVE_10.1.600Client Folder, DELETE it and all of its contents completely.
If (Test-Path $LocalInstall_E10Path)
{
Remove-Item $LocalInstall_E10Path -Recurse -ErrorAction SilentlyContinue
}
#Create new Local E10 Client Folder and Copy entire ERPLIVE E10 Directory contents into it
New-Item -Path $LocalInstall_E10Path -ItemType Directory -Force
Copy-Item $E10ClientFilesSource $LocalInstall_E10Path -Recurse -Force
#If there is already an Icons Folder, DELETE it and all of its contents completely.
If (Test-Path $LocalE10IconsPath)
{
Remove-Item $LocalE10IconsPath -Recurse -ErrorAction SilentlyContinue
}
#Create new Icons Folder and Copy Icon Shortcuts from a Shared Folder on the Network into it
New-Item -Path $LocalE10IconsPath -ItemType Directory
Copy-Item $IconsShortcutSource* $LocalE10IconsPath -Recurse
#Desktop Path for All Users - Place E10 Icon Shortcuts here
$E10DesktopIconsPath = 'C:\Users\Public\Desktop\Epicor Software'
#Create Empty Shortcut Icon Shell in Public Desktop folder
$WScriptShell = New-Object -ComObject WScript.Shell
$E10Shortcut = $WScriptShell.CreateShortcut($E10DesktopIconsPath + '.lnk')
#Link the Shortcut Shell to path where E10 Icons exist
$E10Shortcut.TargetPath = 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Epicor Software\'
$E10Shortcut.Save()
I created a new shortcut in a shared location (easy access to all of my users) that pointed to my Powershell Script. All they had to do was just right-click on the Read-Only shortcut and choose Run As Administrator…. (this is KEY to getting the PS script to run successfully) They watch the little command box pop up and after a few minutes disappear and they have the E10 client installed locally on their system.
Here is my Powershell script Shortcut Target path with some options set for running the Script:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy RemoteSigned -command "& '\server1\D\mis_data\Drivers and Programs\Epicor10\PSS_InstallE10ClientFiles.ps1’
Once the script is complete you should see the following on the PC/Laptop/Server:
An “Epicor Software” folder shortcut on the desktop which contains the three E10 icons (Shell, Classic and MES):
And all of the client files needed locally in the C:\Epicor\ERPLIVE_101600Client\Client folder:
I wanted to mention that there is some code in this PS script where it checks the LastWriteTime date of the E10 Client files directory, if it exists. I have this in there because I was going to try to schedule this as a startup script using Active Directory and I didn’t want AD to constantly copy over the Client files every time someone logged in if the files were up-to-date, so I put this check of - only copy if LastWriteTime is older than a particular date - option in here. It does save my bacon if someone on a Citrix server tries to run this script on their own and if, as it tries to update the files, they cancel the process half-way through then it will mess up the Client on the Citrix server for everyone. So it is a good safety to have in there…. I have not yet had time to figure out the AD setup to run this as a startup script (and if anyone has any helpful instructions on how to do that I’d love to hear them!) so I just had all of my users run the script manually through the shortcut and it seemed to work just fine.
I’m sure there are better ways to deploy the E10 client and to schedule a Powershell Script or something else to perform this task but this is what worked for me and I wanted to share it and hopefully it will help someone or at the very least trigger some ideas on how to do it in the best way that works for you.
Thanks,
-Heather