SOLVED

Uninstall user setup Visual Studio Code

Occasional Contributor

Hi community!

I've just integrated Visual Studio Code user setup, due to the auto upgrade feature. The Install is fine but the Uninstall is not. Admin center status is Uninstall Failed The system cannot find the file specified. (0x80070002) See the install/uninstall commands below. I've also tested with "%LocalAppData%\Programs\Microsoft VS Code\unins000.exe" /SILENT /NOCANCEL 

Anyone encountered a similar problem and found a solution?

 

Install command: VSCodeUserSetup-x64-1.65.2.exe /SILENT /NOCANCEL /MERGETASKS=!runcode
Uninstall command: "C:\Users\%UserName%\AppData\Local\Programs\Microsoft VS Code\unins000.exe" /SILENT /NOCANCEL
Install behavior: User

9 Replies
Hi... as it is a user based install, I assume there isn't a program files folder with that uninstall in it?
Lookin at the silenintall hq they are also mentioning the %localappdata%
https://silentinstallhq.com/visual-studio-code-silent-install-how-to-guide/

"%LocalAppData%\Programs\Microsoft VS Code\unins000.exe" /VERYSILENT /NORESTART

But that could be indeed going wrong so why not add an uninstall script instead of adding an uninstall command?
This script will fetch the user who is running the explorer process, adds it to the path in which the uninstall.exe should exists and add its as a parameter.

$username = (get-process -name "explorer" -includeusername).username
$username = ($username -split '\\')[1]
$fileexe = 'c:\users\' + $username + '\AppData\Local\Programs\Microsoft VS Code\unins000.exe'
$arguments = '/VERYSILENT /NORESTART /MERGETASKS=!runcode /log="c:\programdata\VSCodeUninstall.log"'
$uninstall = (start-process -filepath $fileexe -argumentlist $arguments -wait -passthru).exitcode

if ($uninstall -eq '0')
{
write-host "success"
exit 0
}
else
{
write-host "fail"
exit 1
}

@Rudy_Ooms_MVP Thanks for your input Rudy! Do you use Intune yourself? If you want to be able to uninstall with a script, do you have to copy it into the file system in connection with the installation or is it included in the .intunewin package? It sounds complicated but I can try. The funny thing is, if I run "%LocalAppData%\Programs\Microsoft VS Code\unins000.exe" /SILENT /NOCANCEL manually, there is no problem.

Hi...

Do I use Intune myself :P... it depends.... https://callcloud.nl
When you are packaging the msi app as a win32app you are probably using the intunewinutill tool to do so.. it sort of a zip file with the powershell install and uninstall command or in this case script in it....

Deploying apps with Intune could just act a bit different then you would expect... and calling upon the localappdata could give you an issue...

@Rudy_Ooms_MVP I tried to uninstall with your PS-script via Intune and got a new error Uninstall Failed:
0x80070001 and VS Code remains installed. If I run the script manually, as admin, it works.

you could also try to see what happens when you try to get-childitem in the c:\users\*\appdata\local\Programs\Microsoft VS Code\ folder to search for the uninstall.exe and if found execute it?

@Rudy_Ooms_MVP Thanks Rudy! This code will work if I run it manually as local admin. I will test it in Intune and get back.

ps Code -EA Ignore | kill -Force
Start-Sleep 10
$Exist = Get-ChildItem 'C:\Users\*\AppData\Local\Programs\Microsoft VS Code\unins000.exe'
$Path = $Exist.FullName
$Args = '/SILENT /NORESTART /FORCECLOSEAPPLICATIONS /log="C:\ProgramData\VSCodeUninstall.log"'
Start-Process $Path -Args $Args -Wait

 

Nice to hear, please let us know the outcome when you have tested it in Intune
best response confirmed by Bjrn1765 (Occasional Contributor)
Solution

@Rudy_Ooms_MVP I saved my script as Uninstall.ps1 and added it to my VSCodeUserSetup-x64-1.65.2.intunewin file and uploaded it. I then changed the Uninstall command to PowerShell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -File Uninstall.ps1. It doesn’t work on my own machine, but on three others. So that’s fine, probably something weird with my computer. 

 

Thank you very much Rudy for your help! :grinning_face:

Nice to hear... dont forget to mark the response as the answer :p