Nous développons un produit distribué par nos clients à leurs clients. Nous devons autoriser l'administrateur de l'entreprise cliente à apporter des modifications de configuration au programme d'installation avant de l'envoyer à l'utilisateur final. Les changements de configuration dans ce cas signifie que quelques entrées de registre doivent être faites sur l'ordinateur des utilisateurs finaux. Comment puis-je faire cela?Configuration du programme d'installation avant la distribution
-1
A
Répondre
2
S'il vous plaît vérifier: http://ozgrant.com/2008/03/11/customising-your-wix-msi-with-transform-files/
Ici,
- équipe de développement crée un installateur générique. L'équipe informatique crée ensuite différentes transformations (fichiers .mst) à l'aide d'Orca et
- Ces programmes d'installation, avec notamment .mst, sont envoyés à différents clients.
HTH
2
Voici un exemple de script que nous envoyons à nos clients. Ils créent un fichier de configuration personnalisé, exécutent ce script et se retrouvent avec un MST et un CAB qui écraseront les paramètres par défaut inclus dans le MSI de base. A l'origine, nous donnions simplement aux clients des instructions sur l'utilisation d'Orca, mais cela leur permettait seulement de mettre à jour les propriétés/valeurs - si vous devez remplacer un fichier de configuration, cela finit un peu compliqué pour la plupart des informaticiens. à WISE, InstallShield ou similaire.
Option Explicit
Const MSI_SRC = "myapp.msi"
Const MSI_TEMP = "temp.msi"
Const MST_FILE = "custom.mst"
Const MY_CONFIG = "customsettings.reg"
Const CAB_FILE = "config.cab"
Dim filesys
Set filesys=CreateObject("Scripting.FileSystemObject")
If filesys.FileExists(MSI_SRC) Then
filesys.CopyFile MSI_SRC, MSI_TEMP
Else
MsgBox "Unable to find " & MSI_SRC & "exiting", 48, "Fatal Error"
Set filesys = Nothing
WScript.Quit
End If
If filesys.FileExists(MST_FILE) Then
filesys.DeleteFile(MST_FILE)
End If
Dim installer, database, database2, view
Set installer = CreateObject("WindowsInstaller.Installer")
Set database = installer.OpenDatabase (MSI_TEMP, 1)
Set database2 = installer.OpenDatabase (MSI_SRC, 1)
If filesys.FileExists(MY_CONFIG) Then
Dim objFile, size, result, seq, objCab
Set objCab = CreateObject("MakeCab.MakeCab.1")
objCab.CreateCab CAB_FILE, False, False, False
objCab.AddFile MY_CONFIG, filesys.GetFileName(MY_CONFIG)
objCab.CloseCab
Set objFile = filesys.GetFile(MY_CONFIG)
size = objFile.Size
Set view = database.OpenView ("SELECT LastSequence FROM Media WHERE DiskId = 1")
view.Execute
Set result = view.Fetch
seq = result.StringData(1) + 1 ' Sequence for new configuration file
Set view = database.OpenView ("INSERT INTO Media (DiskId, LastSequence, Cabinet) VALUES ('2', '" & seq & "', '" & CAB_FILE & "')")
view.Execute
Set view = database.OpenView ("UPDATE File SET FileSize = " & size & ", Sequence = " & seq & ", FileName = 'CUSTOM~2.REG|customsettings.reg' WHERE File = '" & LCase(MY_CONFIG) & "'")
view.Execute
End If
database.GenerateTransform database2, MST_FILE
database.CreateTransformSummaryInfo database2, MST_FILE, 0, 0
' Cleanup
Set database = Nothing
Set database2 = Nothing
Set installer = Nothing
Set view = Nothing
filesys.DeleteFile(MSI_TEMP)
Set filesys = Nothing
Questions connexes
- 1. Configuration par programme du client WCF [Silverlight]
- 2. Configuration du fournisseur de rôles ASP.Net par programme
- 3. Conversion de la configuration par programme du service WCF en fichier de configuration
- 4. Modification du fichier avant la validation Subversion
- 5. configuration pour la bibliothèque de classes java sur la distribution tomcat
- 6. Obtenir la configuration du proxy avant d'accéder à un service Web externe (.NET 2.0)
- 7. Outlook/Exchange - comment exporter par programme des utilisateurs dans la liste de distribution?
- 8. Configuration CruiseControl.net répertoire du projet
- 9. Comment coordonner la configuration du client subversion?
- 10. Configurer la configuration matérielle du serveur
- 11. Vider la configuration du conteneur dans StructureMap
- 12. Configuration du projet pour la localisation
- 13. Gestion de la configuration du conteneur autofac
- 14. Conversion d'une distribution uniforme en distribution normale
- 15. Configuration du plugin Grails
- 16. configuration du paquet sharepoint
- 17. Configuration du mappage IRQ
- 18. PHP: Comment afficher la page avant la fin du script?
- 19. Unité du CIO Configuration
- 20. C++ TR1: comment utiliser la distribution normale?
- 21. Distribution d'une petite application PHP
- 22. Automatiser la configuration du double moniteur sous Vista
- 23. Arrêt du programme d'installation entre
- 24. iphone distribution
- 25. Erreur LoaderLock à la fin du programme
- 26. Ouvrir la fenêtre Navigateur du programme Java
- 27. Est-il possible de faire du temps d'inactivité avant de quitter mon programme?
- 28. Visual Studio - Configuration par programme de la solution pour le contrôle de la source
- 29. Émulation du joystick par programme
- 30. Configuration du délai d'expiration du socket TCP
Salut sascha: La solution de script que vous avez affichée est exactement ce que je cherchais. J'ai eu votre script pour courir sans erreurs et la date modifiée sur le msi a été mise à jour. J'ai essayé de modifier deux fichiers différents. 1) logo2.gif lorsque j'ai exécuté le programme d'installation, j'ai eu des erreurs: "Le programme d'installation a rencontré une erreur inattendue lors de l'installation de ce paquet, ce qui peut indiquer un problème avec ce paquet. Ensuite, "Retour du serveur, valeur de retour: 110". Puis j'ai essayé et fichier de configuration ASICI. Après cela, j'ai pu installer sans erreurs ... mais le fichier qui a été installé n'était pas celui mis à jour :( – blak3r