Proclaim Windows installer issues

We'll be shipping our min client update soon, and we want to make sure all of our users are onboard for the new version of Proclaim. We've recently had some issues with the new Proclaim installer, specifically related to unwanted program files being left over after an incomplete installation. Since uninstalling and reinstalling Proclaim will not always remove these orphaned files (and therefore cause repeated incomplete installations), the steps below will help you remove them from your computer and complete a fresh install:
- Go to "Programs and Features" and uninstall Proclaim from the list of programs.
- Navigate to the folder %LOCALAPPDATA%\Proclaim and delete the contents of the folder.
- Download the most recent version of Proclaim from our website at proclaimonline.com/download.
- Install Proclaim. When prompted if you want to allow Proclaim to make changes on your computer, click "Yes."
Any installer-related issues can be posted on this thread if the above steps do not solve the problem.
Comments
-
I've followed these instructions. Everything appears to install OK. But when I click the Proclaim icon [which points to %LOCALAPPDATA%\Proclaim\System\Proclaim.exe] I get a very brief flash of the splash screen, then nothing.
I've tried this a number of times always with the same results. Help please...
0 -
Can you please check the contents of %LOCALAPPDATA%\Proclaim\System1 and System2? Are there Proclaim program files in there?
0 -
Yes in System1, nothing in System2 (totally empty).
0 -
Strange - working this morning. Nothing has changed on the system.
0 -
Glad it's solved now. If at some point you figure out what might have changed it could still point us toward a potential bug.
0 -
The last several updates of Proclaim have all required local administrator rights, even Thursday's v1.31.0.0826 Is this intentional?
Our users run with standard accounts (not administrators), which avoids many risks. The combination of Proclaim's per-user installation with some updates causing UAC prompts makes those updates risky and concerning. The 1.3 update was a wreck for us.
Those UAC prompts used to be very rare with Proclaim, but have become common over the last few months. If updates are going to require admin, you might as well change the installer from per-user to per-machine.
What should we expect going forward?
0 -
Northminster said:
The last several updates of Proclaim have all required local administrator rights, even Thursday's v1.31.0.0826 Is this intentional?
Our users run with standard accounts (not administrators), which avoids many risks. The combination of Proclaim's per-user installation with some updates causing UAC prompts makes those updates risky and concerning. The 1.3 update was a wreck for us.
Those UAC prompts used to be very rare with Proclaim, but have become common over the last few months. If updates are going to require admin, you might as well change the installer from per-user to per-machine.
What should we expect going forward?
The UAC update introduced in 1.30 was required to block Layered Service Providers from injecting themselves in our process, ultimately causing crashes. As you mentioned, in the initial release there was an issue if the UAC prompt was denied. This issue has been resolved. If you cancel the UAC prompt the installer will proceed and try again next time. If you accept the UAC prompt the installer will block the LSPs and next time you update you should not see a UAC prompt.
Is this not the behavior you're experiencing?
0 -
No, that's NOT how it behaves for us!
1) All of our systems are up to 1.3+, but they're still getting UAC prompts with subsequent versions. I've had to deal with UAC prompts for at least these versions SINCE we upgraded to 1.3:
1.31.0.0825 Monday, November 9, 2015
1.31.0.0811 Monday, November 2, 2015
1.31.0.0800 Monday, October 19, 20152) Cancelling the UAC prompt does NOT cause it to prompt again next time. Same goes for "skip update" on the initial screen.
Also, Help>About Proclaim>Check again doesn't give us another chance. All it does is link the current installer on your website for a reinstallation. (This at least appears to be by design, but it would be much nicer to have re-run the initial version check for auto-update.)
--> Net result: If for ANY reason we don't update Proclaim when it offers, we miss our chance on that version. Our only option is to reinstall, or wait for the next version's prompt.
Back to problem #1: The rampant UAC prompts block our normal users from those single chances at an update, so one of our admins has to catch it before they do.-Rob Eberhardt
0 -
It would be helpful to see the setup logs from a machine that is continually showing a UAC prompt. They are located at the following path
%TEMP%\Logos Log Files
If you could zip them up and attach them to this thread we can take a look.
0 -
Here are logs from two of ~7 affected systems.
This system made a UAC prompt going from 1.31.0.0825 to 1.31.0.0826 last week, and I accepted:
6131.nmpc28 - Logos Log Files.zipThis system just prompted from 1.31.0.0825 to 1.31.0.0826 just now, and I cancelled:
2084.nmpc19 - Logos Log Files.zip
I see that logged in ProclaimSetup.log:
2015-11-17T01:28:04Z 0x1ACC Warning ExecuteElevated Elevation was canceled by the user, aborting.
Interestingly, Proclaim now reports that it is at 1.31.0.0826 anyway. I saw this behavior happen on another computer too ( UAC > Cancel > updated anyway)0 -
>> This system made a UAC prompt going from 1.31.0.0825 to 1.31.0.0826 last week, and I accepted:
On this machine the setup log indicates the UAC prompt was canceled. I'll look into our code to see if we can misreport accept/cancel.
2015-11-15T13:40:45Z 0xD84 Info Run Processing line 158: requires-elevation|title=Proclaim Setup|message-id-title=221|message=Proclaim Setup was not able to finish the installation.|message-id-message=231
2015-11-15T13:40:45Z 0xD84 Info Run Elevated section: execute commands will be processed in an elevated instance of LogosSetup.exe.
2015-11-15T13:40:45Z 0xD84 Info Run Processing line 159: # check for, and set if needed, Layered Service Provider exclusion in the current app directory
2015-11-15T13:40:45Z 0xD84 Info Run Processing line 160: if-not-has-layered-service-provider-exclusion|application-path=%CurrentVersionSystemDirectory%\Proclaim.exe
2015-11-15T13:40:45Z 0xD84 Info HasLayeredServiceProviderExclusion Application 'C:\Users\re\AppData\Local\Proclaim\System2\Proclaim.exe' does not have Layered Service Provider exclusion
2015-11-15T13:40:45Z 0xD84 Info Run Processing line 161: set-layered-service-provider-exclusion|application-path=%CurrentVersionSystemDirectory%\Proclaim.exe
2015-11-15T13:40:45Z 0xD84 Info SaveCommands Writing command file back to 'C:\Users\re\AppData\Local\Proclaim\Install\ProclaimWebScript.lbxdat'.
2015-11-15T13:40:45Z 0xD84 Info ExecuteElevated Launching with ShellExecuteEx 'C:\Users\re\AppData\Local\Proclaim\ProclaimSetup.exe', command line '/elevated "C:\Users\re\AppData\Local\Proclaim\Install\ProclaimWebScript.lbxdat" 1 13428'.
2015-11-15T13:41:02Z 0xD84 Warning ExecuteElevated Elevation was canceled by the user, aborting.
2015-11-15T13:41:02Z 0xD84 Error SpawnElevatedInstance ShellExecuteEx failed to return a process handle.>> This system just prompted from 1.31.0.0825 to 1.31.0.0826 just now, and I cancelled
That is what I see as well - UAC prompt canceled.
I'll answer a couple questions you may have about why/when we need administrator permissions.
Proclaim needs administrator permissions on install in the following cases:
- When we need to run a third party installer for a component that requires UAC (i.e. .NET)
- When we need to install third party redistributables (i.e. vc runtime)
- When we need to add a Layered Service Provider (LSP) exemption
Items #1 and #2 are required for Proclaim to run on any machine. Canceling the UAC prompt for these components will halt the install and leave Proclaim not installed. Item #3 is not a required component for Proclaim on all machines - if you cancel the UAC for this part the install will skip adding the LSP exemption but continue with the Proclaim install. In the upgrade scenario Proclaim will be upgraded to the next version, however, it will not have the LSP exemption. The next time you install Proclaim it will repeat the process of trying to add an LSP exemption and prompt for UAC again.
So why add an LSP exemption if it isn't required on your machine? There are several fairly common security (or virus in some cases) applications that will load DLLs into other applications when they are running to perform certain checks (sorry about being vague - here are more details: https://en.wikipedia.org/wiki/Layered_Service_Provider). These cause the embedded web browser we are using to immediately crash which crashes Proclaim. This crash happens at application start - so Proclaim appears to just fail to launch.
Why not run the LSP exemption only when a customer has one of the known security applications installed? If you install Proclaim then install one of these security applications Proclaim would suddenly start crashing. So we would need to move adding the LSP exemption from the installer to Proclaim itself. There isn't an easy way to detect applications that use LSP - you basically have to create a list of applications and check for those on the machine. However, this list changes continuously and, with each change, we need to ship updates to our application. Additionally, when you launch Proclaim you may get a UAC prompt (when it needs to add the LSP exemption) which we would rather avoid.
We felt adding the exemption globally in the install was the right trade off for us in terms of cost to implement and maintain and making things right for customers. Once you accept the UAC prompt for the LSP exemption (assuming things as working as intended) you should no longer be prompted at install time.
What are your thoughts?
0 -
I think you're saying the cancelling any post-1.3 update's UAC prompt won't prevent the update, but should keep prompting with each subsequent update until it gets finally a yes?
That's not what we're seeing. I believe every single attempted update since 1.3 has caused a UAC prompt, regardless of whether previous 1.3x updates were previously cancelled or authorized. This includes yesterday's release 1.31.0.0851.
Also, please recall problem #2: if we skip an update, Proclaim NEVER offers us a skipped update again. ALSO, Help>About Proclaim>Check again won't offer an update either, but just opens your downloads page for a scratch reinstallation.
Standard User + Update UAC prompt = skipped update that I can only address with Proclaim reinstallation, or waiting to catch the next update first.
I'd be glad to share screens with you to reproduce these problems with your next update.-Rob Eberhardt
0 -
Northminster said:
I think you're saying the cancelling any post-1.3 update's UAC prompt won't prevent the update, but should keep prompting with each subsequent update until it gets finally a yes?
That is how it is supposed to work. Perhaps on your machine even though you click accept on the UAC prompt the process of adding the exclusion is failing. We haven't seen this before but that would exhibit this behavior. The next time you upgrade accept the UAC would you get the install logs and send them to us?
Northminster said:Also, please recall problem #2: if we skip an update, Proclaim NEVER offers us a skipped update again. ALSO, Help>About Proclaim>Check again won't offer an update either, but just opens your downloads page for a scratch reinstallation.
If you skip the update it should not prompt you for that update again for a week. The idea is we don't want to continuously ask if you want to update after you have skipped it. If you do Help -> About -> check and use the version on the web site it will download the Setup exe (which is small). When you run that it will download the appropriate installers and execute them. These will run an upgrade (not a fresh install).
If you are already running the latest version the installer will not run (it will tell you Proclaim is up to date). So, if you have skipped the UAC and are on the latest version of Proclaim, the only way to get it to prompt you again is to uninstall/reinstall or wait for the next update (usually every few weeks).
0 -
Still getting UAC prompts on every update, even after having accepted them on previous updates. On multiple machines, too.
On one machine, I even tried completely uninstalling/reinstalling from your downloaded 1.31.0.0863 installer Wednesday of last week. Yesterday, I tried updating that scratch 1.31.0.0863 to 1.31.0.0870, and it still UAC-prompted. After a cancel, it says it couldn't update, but still reports its version as current.
I understand you're saying it SHOULDN'T do this, but I can reproduce it pretty consistently. Have you tried to reproduce it? Just install a version under a standard Windows user account, and update it to another version.
Thanks.
-Rob Eberhardt for Northminster0 -
It's been a few weeks since my last question, so I'm checking in again.
We still get UAC prompts with every Proclaim update, on any Win7 machine, even after uninstalling and reinstalling from scratch.
Again: I understand you're saying it SHOULDN'T do this, but I can reproduce it pretty consistently. Have you tried to reproduce it? Just install a version under a standard Windows user account, and update it to another version.
Thanks,
-Rob Eberhardt0 -
Hello Rob, yes we've tested on Windows 7 and we aren't able to reproduce what you describe. Could you provide a fresh copy of your logs? This will include the latest setup logs which we can look at to see if anything has changed.
0 -
Alright, here are both sets of logs, before and after the latest update's UAC prompt:
4278.Logos Log Files -updated 2016-02-18.zip
7206.Logos Log Files - update hit UAC 2016-04-06.zip6646.Proclaim Log Files -updated 2016-02-18.zip
7608.Proclaim Log Files - update hit UAC 2016-04-06.zip
Background:
Feb 18: Started Proclaim, clicked Update, accepted the UAC prompt.
Today: Started Proclaim, clicked Update, cancelled UAC prompt.Here's important stuff I see:
Feb 18: ProclaimSetup.log2016-02-18T21:04:19Z 0xE60 Info CloseElevatedCommands Setting result for line number 159: 'if-not-has-layered-service-provider-exclusion' to 'success'.<br />2016-02-18T21:04:19Z 0xE60 Info CloseElevatedCommands Setting result for line number 160: 'set-layered-service-provider-exclusion' to 'success'.
Today's ProclaimSetup.log:
2016-04-06T18:40:35Z 0x48C Info HasLayeredServiceProviderExclusion Application 'C:\Users\WorshipVolunteer\AppData\Local\Proclaim\System2\Proclaim.exe' does not have Layered Service Provider exclusion
So, on Feb 18, it successfully set the LSP exception. Today, it did not see Feb18's LSP exception. So either setting the LSP isn't working, or detecting it isn't?
Also: It looks like the LSP detection is already AFTER the elevated section, which raises a concern... It sounded from Nick that the initial install needs UAC to set the LSP exception. After that, upgrades simply check that the LSP exception is already set, and should only elevate if it is NOT.
But the logs indicate that CHECKING the LSP exception itself requires elevation!
0 -
First I wanted to explain the logs a bit more.
Looking through the 2016-04-06 log here is what I see:
2016-04-06T18:40:35Z 0x48C Info Run Processing line 157: # start elevation-required section: any execution will spawn an elevated instance of ProclaimSetup.exe which will run all commands up to the end-elevate command
Lines with # after line xyz: are comments, these help with debugging but can mostly be ignored
2016-04-06T18:40:35Z 0x48C Info Run Processing line 158: requires-elevation|title=Proclaim Setup|message-id-title=221|message=Proclaim Setup was not able to finish the installation.|message-id-message=231
2016-04-06T18:40:35Z 0x48C Info Run Elevated section: execute commands will be processed in an elevated instance of LogosSetup.exe.The first line means "if commands that are marked as requiring elevation execute, elevate this processes and run this elevation block"
The second line is just a comment coming from the code processing the command and is misleading... it is supposed to indicate the line above was processed (but is not elevating)2016-04-06T18:40:35Z 0x48C Info Run Processing line 159: # check for, and set if needed, Layered Service Provider exclusion in the current app directory
2016-04-06T18:40:35Z 0x48C Info Run Processing line 160: if-not-has-layered-service-provider-exclusion|application-path=%CurrentVersionSystemDirectory%\Proclaim.exe
2016-04-06T18:40:35Z 0x48C Info HasLayeredServiceProviderExclusion Application 'C:\Users\WorshipVolunteer\AppData\Local\Proclaim\System2\Proclaim.exe' does not have Layered Service Provider exclusionThese are a comment, checking for LSP exclusion (this commands is not flagged as requiring elevation), and a comment coming from the code processing the command indicating LSP exclustion was not found.
2016-04-06T18:40:35Z 0x48C Info Run Processing line 161: set-layered-service-provider-exclusion|application-path=%CurrentVersionSystemDirectory%\Proclaim.exe
Setting LSP command is read. This command is flagged as requiring elevation so the command doesn't run. Instead:
2016-04-06T18:40:35Z 0x48C Info SaveCommands Writing command file back to 'C:\Users\WorshipVolunteer\AppData\Local\Proclaim\Install\ProclaimWebScript.lbxdat'.
2016-04-06T18:40:35Z 0x48C Info ExecuteElevated Launching with ShellExecuteEx 'C:\Users\WorshipVolunteer\AppData\Local\Proclaim\ProclaimSetup.exe', command line '/elevated "C:\Users\WorshipVolunteer\AppData\Local\Proclaim\Install\ProclaimWebScript.lbxdat" 1 6428'.The status of all the commands is written out to disk and the process is relaunched in elevated mode (UAC prompt comes up). When it runs it will restart at the "requires-elevation" line (158).
2016-04-06T18:41:42Z 0x48C Warning ExecuteElevated Elevation was canceled by the user, aborting.
Setup believes the UAC denied, it cannot continue so it stops the install script. After this the script would request a reboot if needed and launch Proclaim. Proclaim itself may be installed because this happened earlier in the script around these lines:
2016-04-06T18:40:03Z 0x48C Info Run Processing line 137: install|name=Proclaim|message-id-name=236|command-line=REBOOT=ReallySuppress|package=%ProclaimInstallerPath%|ui-level=basic|abort-on-failure=yes|title=Proclaim Setup|message-id-title=221|message=The installation of Proclaim did not succeed.|message-id-message=237|icon=error|message-hash-mismatch=The installer file for Proclaim was corrupted during the download. Please run Setup again.|message-id-hash-mismatch=235
2016-04-06T18:40:03Z 0x48C Info RunCommandInstall Verified digital signature and file hash of 'C:\Users\WorshipVolunteer\AppData\Local\Proclaim\Install\Installers\Proclaim-x64.msi'.
2016-04-06T18:40:03Z 0x48C Info RunCommandInstall Installing package 'C:\Users\WorshipVolunteer\AppData\Local\Proclaim\Install\Installers\Proclaim-x64.msi' with command line 'REBOOT=ReallySuppress', UI level '3'.
2016-04-06T18:40:35Z 0x48C Info RunCommandInstall MsiInstallProductW returned 0: successIn the 2016-02-18 log you can see it continue. Unfortunately there is less logging in the elevated portion of the log.
All that is to say, the HasLayeredServiceProviderExclusion command, even though it is after a "requires-elevation" command, doesn't flag our installer to prompt for UAC.
I'm not sure why setting LSP would claim to work on 2016-02-18 but checking for it on 2016-04-06 doesn't detect it. Some possibilities are: 1) setting it is failing, 2) something is deleting it, 3) detecting the setting is failing.
The LSP exclusions are stored in the registry. If you are comfortable would you check there to see if the keys were created? Before running Proclaim install/uninstall verify if these keys exist:
* regedit (opens the registry editor, don't make any changes)
* browse to Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog\There should be a few keys with number/letter names. Two of them should have values with Name="AppFullPath" and REG_SZ Data="<full path to Proclaim.exe>". One path will have System1 in it and the other will have System2 in it. The PermittedLspCategores for each should be 0x80000044. From your install log it looks like the path should be:
C:\Users\WorshipVolunteer\AppData\Local\Proclaim\System2\Proclaim.exe
If you would like some help looking for these let us know and we can try to have someone attach to your computer and take a look.
Thanks,
Nick0 -
That registry key shows NO references to Proclaim.exe, on two different systems. No idea what might remove an LSP exception, so I suspect it just isn't getting written.
I've exported the whole AppId_Catalog key. Here are the regfile contents:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WinSock2\Parameters\AppId_Catalog]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WinSock2\Parameters\AppId_Catalog\06EBDCB1]
"AppFullPath"="C:\\Windows\\system32\\wininit.exe"
"PermittedLspCategories"=dword:80000040[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WinSock2\Parameters\AppId_Catalog\2C69D9F1-0F0A6651]
"AppFullPath"="C:\\Windows\\system32\\svchost.exe"
"AppArgs"="-k NetworkService"
"PermittedLspCategories"=dword:80000044[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WinSock2\Parameters\AppId_Catalog\2C69D9F1-1F4968A0]
"AppFullPath"="C:\\Windows\\system32\\svchost.exe"
"AppArgs"="-k LocalServiceNetworkRestricted"
"PermittedLspCategories"=dword:80000040[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WinSock2\Parameters\AppId_Catalog\2C69D9F1-215FDCCA]
"AppFullPath"="C:\\Windows\\system32\\svchost.exe"
"AppArgs"="-k LocalServiceAndNoImpersonation"
"PermittedLspCategories"=dword:80000044[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WinSock2\Parameters\AppId_Catalog\2C69D9F1-34FFF7C0]
"AppFullPath"="C:\\Windows\\system32\\svchost.exe"
"AppArgs"="-k LocalService"
"PermittedLspCategories"=dword:80000044[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WinSock2\Parameters\AppId_Catalog\343305C9]
"AppFullPath"="C:\\Windows\\system32\\lsass.exe"
"PermittedLspCategories"=dword:80000000I'm going to test the theory that your LSP exceptions aren't getting written: Scratch Proclaim install, elevated, then immediately check the registry. If no Proclaim.exe under AppId_Catalog, that would confirm, do you agree?
0 -
Northminster AV said:
I'm going to test the theory that your LSP exceptions aren't getting written: Scratch Proclaim install, elevated, then immediately check the registry. If no Proclaim.exe under AppId_Catalog, that would confirm, do you agree?
I would agree with that. I don't think Microsoft would have moved those reg keys between Windows versions.
0 -
Okay, I ran that test. Here's a screencast showing no LSP exception before install, elevation twice during install, and no LSP exception after install:
(Yes I drastically sped up the installation portion, but FYI it's an I7 CPU with 12GB
Can you try to repro that?
If no luck, can we schedule screensharing for next Wednesday, April 20th?
0 -
Rob, I sent you an email with followup instructions.
0 -
Hi Peter, I don't see an email. But it looks like my profile had none set, which I've just fixed. Can you try again? Thanks! -Rob
0 -
I see it now, thanks -Rob
0 -
Keeping getting message: another installation is being installed. Wait until that installation is finish. I am unable to locate any installations being installed. What steps do I need to take so I can complete the steps above.
0 -
Fredrick E. Brabson Sr. said:
Keeping getting message: another installation is being installed. Wait until that installation is finish. I am unable to locate any installations being installed. What steps do I need to take so I can complete the steps above.
Have you tried rebooting?
0