Jump to content

Evernote new and old versions cannot coexist when installed from elevated context for all users. Bizarre behavior.


Go to solution Solved by . . .,

Recommended Posts

I'm currently so frustrated that "Evernote-10.49.4-win-ddl-ga-3782-127ce42593-setup.exe" and "Evernote_6.25.3.9348.exe" are unable to coexist on my system at all. It appears that for some reason, if both are installed, the legacy app will start running (invoke) the new evernote app over and over, relentlessly, once it's executed. It makes the machine almost totally impossible to use and unless you have a terminal window open so that you can type taskkill /im evern* /f /t you don't have much hope of getting out of the loop. Every time the app is run, it steals focus, making it nearly impossible to do anything else with the computer.

Incidentally, their co-installation causes some kind of file corruption, so if you uninstall the new client, the old one will not work even after uninstalled. I had to manually clean the app's leavings from the machine to get the install to work again. This is very disappointing and renews my interest in exporting everything and moving to OneNote even though it will doubtless be a pretty big lift. So painful! I'd love to have a resolution to this issue. Does anyone have any experience with this? I'd prefer to just keep using Evernote if I can get the 2 versions to coexist.

Link to comment
  • Solution

Apparently today I'm a self-rescuing princess.... 

I was installing both EXE's in an elevated window as another user. I have elevated and "mortal" accounts. I normally use the elevated for running installs. When I do not elevate, the apps install and appear to coexist without taking a dump on my desktop.

For an app that is largely targeted for enterprise use, I'd have thought they would have tested for this.

I'll leave this here for the next poor soul that assumes that the app will install properly in an elevated context.

  • Thanks 1
Link to comment
  • . . . changed the title to Evernote new and old versions cannot coexist when installed from elevated context for all users. Bizarre behavior.

Legacy is not being updated so if you need local notebooks move to to something like Joplin. If you want a web based experience with extra functionality then move to V10. Hovering between them is not sustainable longterm. I have multiple Evernote accounts each containing hundreds of folders so you are correct, moving them is a significant effort and time absorber.

  • Like 1
Link to comment
8 minutes ago, agsteele said:

At a guess, your installations are corrupted and when you have uninstalled you still have a remnant left. On Windows, use Revo Uninstaller to fully remove both versions of Evernote and all old data.

Then reinstall. Start with v10 then add the the Legacy version .

In Legacy disable all shortcuts since many conflict between the two versions. You can have both versions running at the same time but I prefer seeing Legacy not to auto start with Windows. I load it only when required.

apparently that comment was deleted whilst I was writing this...
I don't need revo. I have powershell. I took care of that and automated the process so that next time I need to uninstall, it's a single click. Extra points for the lightening fast reply!
 

#Set-ExecutionPolicy -ExecutionPolicy Bypass -force

$searchstrings = @("evernote*")

$del = @("C:\Program Files (x86)\Evernote",
"C:\ProgramData\evernote-client-updater",
"C:\Users\*\AppData\LocalLow\Evernote",
"C:\Users\*\AppData\LocalLow\Evernote\Evernote",
"C:\Users\*\AppData\LocalLow\Evernote",
"C:\Users\*\AppData\LocalLow\Evernote\Evernote",
"C:\Users\*\AppData\Local\Packages\Microsoft.Windows.Search_cw5n1h2txyewy\LocalState\AppIconCache\100\COM_EVERNOTE_EVERNOTE",
"C:\Users\*\AppData\Local\Packages\Microsoft.Windows.Search_cw5n1h2txyewy\LocalState\AppIconCache\100\{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}_EVERNOTE_EVERNOTE LEGACY_EVERNOTE_EXE",
"C:\Users\*\AppData\Roaming\Evernote",
"C:\Users\*\AppData\Roaming\Evernote\conduit-fs\https%3A%2F%2Fwww.evernote.com",
"C:\Users\*\AppData\Roaming\Evernote\conduit-storage\https%3A%2F%2Fwww.evernote.com",
"C:\Users\*\AppData\Roaming\Evernote\Partitions\user%3A1564462\IndexedDB\app_evernote_0.indexeddb.leveldb",
"C:\Users\*\Evernote",
"C:\Users\*\AppData\Local\Temp\Evernote.msi",
"C:\Users\*\AppData\Local\Temp\EvernoteSetup.log",
"C:\Users\*\AppData\Local\Temp\EvernoteSetupMSI.log",
"C:\Users\*\AppData\Roaming\Evernote\logs\evernote.log",
"C:\Users\*\AppData\Roaming\Microsoft\Windows\Recent\Uninstall evernote by name.ps1.lnk",
"C:\Users\*\AppData\Roaming\Microsoft\Windows\SendTo\Evernote.lnk",
"C:\Windows\Prefetch\EVERNOTE*")

#here we get all the software
function Get-InstalledSoftware
{
    <#
    .SYNOPSIS
        Retrieves a list of all software installed
    .EXAMPLE
        Get-InstalledSoftware
        
        This example retrieves all software installed on the local computer
    .PARAMETER Name
        The software title you'd like to limit the query to.
    #>
	[OutputType([System.Management.Automation.PSObject])]
	[CmdletBinding()]
	param (
		[Parameter()]
		[ValidateNotNullOrEmpty()]
		[string]$Name
	)
	
	$UninstallKeys = "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall", "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall"
	$null = New-PSDrive -Name HKU -PSProvider Registry -Root Registry::HKEY_USERS
	$UninstallKeys += Get-ChildItem HKU: -ErrorAction SilentlyContinue <#| Where-Object { $_.Name -match 'S-\d-\d+-(\d+-){1,14}\d+$' }#> | ForEach-Object { "HKU:\$($_.PSChildName)\Software\Microsoft\Windows\CurrentVersion\Uninstall" }
	if (-not $UninstallKeys)
	{
		Write-Verbose -Message 'No software registry keys found'
	}
	else
	{
		foreach ($UninstallKey in $UninstallKeys)
		{
			if ($PSBoundParameters.ContainsKey('Name'))
			{
				$WhereBlock = { ($_.PSChildName <#-match '^{[A-Z0-9]{8}-([A-Z0-9]{4}-){3}[A-Z0-9]{12}}$'#>) -and ($_.GetValue('DisplayName') -like "$Name*") }
			}
			else
			{
				$WhereBlock = { ($_.PSChildName <#-match '^{[A-Z0-9]{8}-([A-Z0-9]{4}-){3}[A-Z0-9]{12}}$'#>) -and ($_.GetValue('DisplayName')) }
			}
			$gciParams = @{
				Path	    = $UninstallKey
				ErrorAction = 'SilentlyContinue'
			}
			$selectProperties = @(
				@{ n = 'GUID'; e = { $_.PSChildName } },
				@{ n = 'Name'; e = { $_.GetValue('DisplayName') } }
				@{ n = 'Version'; e = { $_.GetValue('DisplayVersion') } }
				@{ n = 'UninstallString'; e = { $_.GetValue('UninstallString') } }
				@{ n = 'UninstallKey'; e = { $UninstallKey } }
			)
			Get-ChildItem @gciParams | Where $WhereBlock | Select-Object -Property $selectProperties
		}
	}
}

#here we find the item matching our search string
foreach ($item in Get-InstalledSoftware)
{
	Foreach ($searchstring in $searchstrings)
	{
		if ($item.Name.tostring() -like "$searchstring") # -or $item.Name.tostring() -like "*$searchstring2*")
		{
			write-host "$($item.name):`r`n•guid: $($item.guid)`r`n•uninstall string:$($item.uninstallString)`r`nmsiexec.exe  /x $($item.GUID) /qn /norestart`r`nReg Key: $($item.Uninstallkey)\$($item.guid)`r`n"
			Start-Process -FilePath "C:\Windows\System32\msiexec.exe" -ArgumentList "/x `"$($item.GUID)`" /qn /norestart" -wait
			msiexec.exe  /x "$($item.GUID)" /qn /norestart
			echo $LASTEXITCODE
		}
	}
}
Remove-Variable item


#this deletes any folders in $del recursively and any files. it detects what type for us.
foreach ($item in $del)
{
	[bool]$isdir = (Get-Item $item) -is [System.IO.DirectoryInfo]
	
	if ($isdir)
	{
		Remove-Item -Recurse -Force $item -confirm:$false
	}
	else
	{
		Remove-Item -Force $item -confirm:$false
	}
}
& "C:\Program Files (x86)\Evernote\Uninstall Evernote.exe" /AllUsers /S

@Dab, I realize it's not sustainable, but the navigation and search features in 10 don't seem fully matured yet, so use it till I can't. ¯\_(ツ)_/¯ 

  • Like 1
Link to comment
  • Level 5

From my limited experience v10 and legacy coexist rather nicely on the same machine. Maybe the use or mortal and elevated accounts is less than enlightened, and messes things up.

As does the attitude „I am so proud of myself, I don’t use Revo, and see where it takes me“.

It may be perfectly fine for yourself, but I warn anybody to executed a script he probably won’t understand in all implications (I for sure don’t understand) on his own machine. I think advise in the forum should be done in a way the „common“ user can reproduce and execute himself.

Or in shorter prose:

Avoid overly clever account setups when installing standard software

Use tools like Revo Uninstaller provided and tested for a certain use. Don’t run scripts on your computer unless you are sure about what they will do to your system.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...