Решение проблем по Windows-установщикам
-
Возможная причина 1: установка была выполнена от имени другого пользователя. Приложение можно установить либо на одного пользователя, либо на всех пользователей. Если пользователь А установил приложение на одного пользователя, то пользователь Б это приложение не увидит ни на рабочем столе, ни в списке Приложения и возможности. В этом списке отображаются программы, установленного конкретно на этого пользователя либо на всех пользователей. Подробнее см. в разделе Особенности установки/Контекст установки.
-
Возможная причина 2: к такой ситуации также приводит запуск установки от имени администратора. Если администратор и пользователь — разные учетные записи, то установка на одного пользователя и от имени администратора выполнится в учетную запись администратора, а не пользователя.
В меню Пуск, а также в списке «Приложения и возможности» отображаются два приложения VK WorkSpace (VK Teams)
Скорее всего, были выполнены две установки в разных контекстах: одна — на одного пользователя, другая — на всех пользователей. Это могло произойти, если выполнялось обновление через MSI-пакет, но при обновлении не указали контекст установки. MSI-пакет не умеет автоматически определять контекст, поэтому при обновлении с помощью MSI-пакета нужно указывать тот контекст, в котором была выполнена первичная установка. Подробнее см. в разделе Контекст установки и MSI-пакет.
Контекст новой установки отличается от контекста предыдущей установки (иначе обновление программы выполнилось бы). MSI-пакет не умеет автоматически определять контекст. Каждый раз при обновлении с помощью MSI-пакета нужно указывать тот контекст, в котором была выполнена первичная установка. Подробнее см. в разделе Контекст установки и MSI-пакет.
Если приложение установлено на всех пользователей, то причина в том, что пользователь, который запустил приложение, не является локальным администратором компьютера. В таком случае механизм автоматического обновления выключается, а кнопка проверки скрывается. Подробнее см. в разделе Установка на всех пользователей и автоматическое обновление.
Если приложение установлено на всех пользователей и файл с настройками не содержит ошибок, то причина в том, что после установки был выполнен автоматический запуск приложения от имени администратора, который производил установку. В случае установки на всех пользователей автоматический запуск нужно выключать. Подробнее см. в разделе Проброс настроек прокси.
Скорее всего, выполнялась установка на одного пользователя, однако при такой установке никогда не запрашивается повышение прав, даже если они нужны. Поэтому если в процессе установки выбран путь Program Files и пользователь является администратором, то у сервиса установки всё равно не хватает прав на запись в эту папку.
Удалить приложение можно через командную строку: msiexec /x "{product_guid}"
Команду нужно выполнить для каждого идентификатора. Если установлено две копии одной версии, на одного пользователя и на всех пользователей, то GUID у них будет общий, а команду удаления нужно будет вызвать два раза.
В Windows нет возможности посмотреть и удалить приложения, которые были установлены на одного пользователя, но в учетные записи других пользователей. Удалить VK WorkSpace (VK Teams) у этих пользователей можно только войдя в их учетную запись и повторив действия, указанные выше.
Подробнее о контексте установки можно посмотреть в разделе Особенности установки/Контекст установки.
Чтобы узнать GUID приложения, в командной строке (terminal либо PS) выполните команду:
$Installer = New-Object -ComObject WindowsInstaller.Installer;$InstallerProducts = $Installer.ProductsEx("", "", 7);$InstalledProducts = ForEach($Product in $InstallerProducts){[PSCustomObject]@{ProductCode = $Product.ProductCode();LocalPackage = $Product.InstallProperty("LocalPackage");VersionString = $Product.InstallProperty("VersionString");ProductPath = $Product.InstallProperty("ProductName")}};foreach ($product in $InstalledProducts){if ($product.ProductPath -eq "VK WorkSpace") { $product }}
*Для старой версии приложения в последнем блоке используйте старое название: {if ($product.ProductPath -eq "VK Teams") { $product }}
Отобразится список найденных приложений, идентификаторы будут указаны в первом столбце.