Visual studio 如何根据以前安装的版本选择Everyone/Just Me?
使用VisualStudio安装项目。我想将Everyone/Just Me选项更改为与上次安装过程中选择的用户相同。您可以在安装过程中将Visual studio 如何根据以前安装的版本选择Everyone/Just Me?,visual-studio,windows-installer,setup-project,Visual Studio,Windows Installer,Setup Project,使用VisualStudio安装项目。我想将Everyone/Just Me选项更改为与上次安装过程中选择的用户相同。您可以在安装过程中将ALLUSERSMSI属性的值保存到注册表中定义良好的位置。然后,您可以在升级时查询该值并相应地执行操作 您还可以使用MSI api检查您的产品是在每台机器还是每用户上下文中安装的。为此,您需要调用该函数并查看您的产品是否出现在任一安装上下文中。最终解决了这个问题。使用VBScript自定义操作 Dim myUpgradeCode myUpgradeCode
ALLUSERS
MSI属性的值保存到注册表中定义良好的位置。然后,您可以在升级时查询该值并相应地执行操作
您还可以使用MSI api检查您的产品是在每台机器还是每用户上下文中安装的。为此,您需要调用该函数并查看您的产品是否出现在任一安装上下文中。最终解决了这个问题。使用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之前执行它
完成了 好的。。让它在自定义动作VBScript中工作。但即使我将ALLUSERS设置为“{}”,它也会为所有用户安装。为什么?自定义操作在“LaunchConditions”之前执行。它将诱惑者设置为“{}”或“1”。