App Deployment Install Issue

Good afternoon, all!

I am working on a deployment at my job for ArcGIS Pro by ESRI. For the most part, the deployment will upgrade and then patch a previously installed version of ArcGIS Pro. The PSADT first installs the .msi and then installs the .msp file.

After some trial and error, here is the rundown:

  • Deployment testing through SCCM successfully upgrades and patches to the latest version with no issues.
  • Software uninstalls with no issues.

The issue: After uninstalling, trying to reinstall the software (just to cover all bases as far as testing), the installation will go through and show “installed”, but the software is not listed in the Start menu. This led me to do some digging. I noticed through the Everything search tool I have installed, that when you reinstall the software, it is installing to the following path under System32: C:\Windows\System32\config\systemprofile\AppData\Local\Programs\ArcGIS\Pro\bin.

Whereas, it should be installing under C:\Program Files. Manually installing the software installs the software to the correct directory.

Any ideas would be greatly appreciated and helpful! Let me know if any information is needed on my part!

Thanks in advance!

You should try to compare the MSI log files for the install and the re-install.
I have a way to remove the timestamps with Notepad++ if you are interested.

I assume:
you use ALLUSERS=1 during the installations
you reboot after the installation to clear out PFROs.

CAVEAT:
10+ years ago we had 100+ computers with ArcGIS from ESRI and the upgrade was failing.

Long story short: ESRI create sloppy MSIs that cannot uninstall properly. In our situation, it left so much crap after uninstallation that the new version could not install.

I created a script to remove reg entries and files. The Registry file of leftovers had 8000+ lines.
I created a REG file that removes registry keys and values. It took 3+ weeks! The upgrade worked after running the cleanup script.

I later noticed that the MSI contained a script to register DLLs at the end of install but did not run one for uninstall to unregister DLLs.

Thanks for the response, sir.

To answer your assumptions. I have the user experience installation behavior setting set to install for system. I do not have any additional parameter set in the PSADT regarding the users. I do have a parameter for the EULA (ACCEPTEULA=YES). Not having that parameter in the early stages of the deployment process was erroring out the install. Upon checking the logs, I do see that it acknowledges it should be installed for all users. Below is a screenshot of the log and where it seems to be going off course.

In my most recent testing, I have rebooted after uninstalling through Software Center. Even after a reboot, it still insisted on installing under the wrong directory.

Essentially, a clean install and it going to the proper directory is the last piece of the puzzle. I am assuming when installing on a machine that has an older version of ArcGIS Pro, it’s picking up on where it is already installed at, and then just proceeds from there.

RE: “I do see that it acknowledges it should be installed for all users.”
I don’t see it. I don’t see the ALLUSERS property being set at all.

I’d look in how the newfolder1 property is being set inside the MSI. It’s either a Custom Action or a DLL that sets it according to something leftover from the first install.

Dug a little deeper into the logs and checked into the MSI through Orca:

Sorry, since I am new to the forum it will not allow me to post two screenshots in the same post.

I did just notice that in Orca, ALLUSERS is set to “2”. Should I just add the ALLUSERS parameter after my ACCEPTEULA parameter in the PSADT and see what happens from there?

Edit: I figured the install for system setting would just carry over if that is in fact the case.

Jumped ahead and decided to test the ALLUSERS=1 parameter and updated the deployment. I am thankful and glad to say it is installing to the correct location now!

Thank you again, sir! I hope to continue to use these forums and cross paths with you again soon! :slight_smile:

1 Like

scizzat, Glad you got yours working. I am trying to use PSADT to upgrade Viscosity using msi installer.
Did you declare the variable for the MSI installer before PRE-INSTALLATION section of Deploy-Application.ps1?
Also, you did not need to use Deploy-Application.exe when you had successfully deployed ArcGIS Pro? you just zipped everything in the attached screenshot and did not include Deploy-Application.exe?

Hey @MNatividad,

Here is what I had in the Powershell script:

I used Deploy-Application.exe as the installation program and uninstall program in SCCM. With that being said, I had the Powershell script do the following to uninstall:

Remove-MSIApplications -Name ‘ArcGIS Pro’

As far as the files go, any time I or anybody on my team creates a new application deployment, we copy the default PSADT folder and go from there. We place the necessary files in the Files folder and any others in the SupportFiles (if needed).

Hope this helps!

Thanks @scizzat this is really helpful. Let me give it a try.

Where did you insert this command Remove-MSIApplications -Name ‘ArcGIS Pro’ ?

below UNINSTALLATION? did you use the ## Handle Zero-Config MSI Uninstallations to perform uninstallation or Remove-MSIApplications -Name ‘ArcGIS Pro?

##===============================================
##
UNINSTALLATION
##*===============================================
[string]$installPhase = ‘Uninstallation’

	## Handle Zero-Config MSI Uninstallations
	If ($useDefaultMsi) {
		[hashtable]$ExecuteDefaultMSISplat =  @{ Action = 'Uninstall'; Path = $defaultMsiFile }; If ($defaultMstFile) { $ExecuteDefaultMSISplat.Add('Transform', $defaultMstFile) }
		Execute-MSI @ExecuteDefaultMSISplat
	}

	# <Perform Uninstallation tasks here>

Also, what message do you usually put as a show-installation prompt message under POST-UNINSTALLATION?

##*===============================================
		##* POST-UNINSTALLATION
		##*===============================================
		[string]$installPhase = 'Post-Uninstallation'

		## <Perform Post-Uninstallation tasks here>
        ## Display a message at the end of the Uinstallation
		If (-not $useDefaultMsi) { Show-InstallationPrompt -Message 'ArcGIS Pro Uninstallation is now completed. Click on OK to close this dialog box' -ButtonRightText 'OK' -Icon Information -NoWait }

@MNatividad,

I used the following:

	##*===============================================
	##* UNINSTALLATION
	##*===============================================
	[string]$installPhase = 'Uninstallation'

	# <Perform Uninstallation tasks here>

            Remove-MSIApplications -Name 'ArcGIS Pro'

As far as the message goes, the one you have in your previous post should work just fine. I did not have a uninstallation message, just an installation message.

Thanks I can try that command for my uninstallon section as well and remove uninstallatipn message prompt as it is unnecessary

@scizzat when using PSADT to deploy ArcGIS Pro, you only have to update the contents of Application-Deployment.ps1 and put the msi or exe in the Files folder? Is there an instance or a user-case or a need to touch the other 3 powershell scripts(AppDeployToolkitExtensions.ps1, AppDeployToolkitHelp.ps1 and AppDeployToolkitMain.ps1) when deploying ArcGIS Pro?

@MNatividad, correct. I have not modified those PowerShell scripts at all.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.