Utilisation du projet d'installation Visual Studio. Je voudrais changer le choix Tout le monde/Juste moi au même que l'utilisateur sélectionné lors de l'installation précédente.Comment puis-je sélectionner Everyone/Just Me en fonction de la version précédente installée?
1
A
Répondre
2
Enfin compris. Utilisé une action personnalisée 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
Et l'a exécuté avant AppSearch.
Fait!
0
Vous pouvez enregistrer la valeur de la propriété MSI ALLUSERS
dans un emplacement bien défini dans le Registre lors de l'installation. Vous pouvez ensuite interroger cette valeur lors de la mise à niveau et agir en conséquence.
Vous pouvez également utiliser l'API MSI pour vérifier si votre produit est installé dans un contexte par machine ou par utilisateur. Pour ce faire, vous devez appeler la fonction MsiEnumProductsEx
et voir si votre produit apparaît dans l'un des contextes d'installation.
Questions connexes
- 1. Valider la version précédente
- 2. Comment exécuter mes spécifications avec la version précédente de Rspec?
- 3. Comment trouver la version d'une application installée en utilisant C#
- 4. WiX - toujours remplacer la version précédente
- 5. Inno Setup ... Utiliser l'ancien DB si la version précédente est installée
- 6. Désinstallation conditionnelle de la version précédente dans Wix
- 7. Comment connaître la version de xdebug que j'ai installée?
- 8. Comment lire une fonction installée (eclipse PDE)?
- 9. Comment revenir à la version précédente de XCode?
- 10. Comment empêcher le chargement d'une gem de la version précédente?
- 11. Récupérer la version précédente d'une procédure stockée
- 12. Détection de la version Excel installée (et des Service Packs)
- 13. Comment sélectionner la bonne version du CLR dans VS2010?
- 14. Tout sélectionner en fonction de la catégorie
- 15. Comment déterminer quelle version de Direct3D est installée?
- 16. Comment vérifier par programmation quelle version de WMI est installée
- 17. Fonction précédente d'IDA Pro
- 18. Recherche par programme la version installée de pywin32
- 19. Comment savoir quelle version de GTK + est installée sur Ubuntu?
- 20. Comment puis-je voir quelle version de MVC est installée?
- 21. Comment savoir quelle version de MDAC est installée?
- 22. Exécuter la requête en fonction de sélectionner la valeur requête
- 23. PHP - Fonction date - trouver la semaine précédente
- 24. évaluation de la fonction désactivée en raison d'une évaluation de la fonction précédente a expiré
- 25. Comment puis-je détecter quelle version d'Internet Explorer est installée?
- 26. comment vérifier MS Office version installée sur les machines
- 27. Importer un module basé sur la version python installée?
- 28. Sélectionner la sélection en fonction d'une priorité
- 29. Comment redéfinir une macro en utilisant la définition précédente
- 30. Le programme d'installation ne peut pas supprimer la version précédente
Ok .. Je l'ai eu à travailler dans Custom Action VBScript. Mais même si je mets les ALLUSERS à "{}", il s'installe pour tous les utilisateurs. Pourquoi? L'action personnalisée est exécutée juste avant "LaunchConditions". Il définit ALLUSERS sur "{}" ou "1". – Trainee4Life