Используя Visual Studio устанавливают проект. Я хотел бы изменить Всех / Просто Меня выбор к тому же, поскольку пользователь выбрал во время предыдущей установки.
Наконец-то разобрался. Используется настраиваемое действие VBScript.
Dim myUpgradeCode
myUpgradeCode = "{6EFB1553-7F4F-4E26-A32B-E2F0F8E11CA9}"
Dim justMe
justMe = False
'AssignmentType
' Equals 0 if product is advertised or installed per-user.
' Equals 1 if product is advertised or installed per-machine for all users.
Set products = Session.Installer.RelatedProducts( myUpgradeCode )
For Each product In products
astp = CLng(Session.Installer.ProductInfo(product, "AssignmentType"))
If astp = 0 Then
justMe = True
End If
Next
If JustMe Then
Session.Property("ALLUSERS") = ""
Else
Session.Property("ALLUSERS") = "1"
End If
И выполнил его до AppSearch.
Готово!
Вы можете сохранить значение свойства MSI ALLUSERS
в четко определенном месте в реестре во время установки. Затем вы можете запросить это значение при обновлении и действовать соответствующим образом.
Вы также можете использовать MSI api, чтобы проверить, установлен ли ваш продукт для компьютера или пользователя. Для этого вы должны вызвать функцию MsiEnumProductsEx
и посмотреть, отображается ли ваш продукт в любом контексте установки.