Menu

VB.NET: Créer un programme d'installation [Résolu/Fermé]

Messages postés
675
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
16 septembre 2018
- - Dernière réponse : Anonyme209
Messages postés
675
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
16 septembre 2018
- 17 juin 2015 à 18:25
Bonjour,

Je voudrais savoir comment faire un programme d'installation en VB.NET.
Je ne parle pas du type de projet setup de Visual Studio, je souhaite le programmer en application Windows Forms.
J'ai donc besoin:
-Que le programme soit considéré comme un programme d'installation (par exemple, lorsque l'installation d'un programme échoue, Windows affiche le message "Ce programme pourrait ne pas s'être installé correctement.")
-Que le programme qui doit être installé apparaisse dans la liste des programmes et fonctionnalités (donc qu'il soit considéré comme un programme installé).

Merci de votre aide.
Afficher la suite 

2 réponses

Messages postés
5784
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
23 juin 2019
1844
0
Merci
Salut,

Le plus simple serais d'utiliser un programme d'installation genre installshield, mais il existe aussi des équivalents dans le monde libre comme par exemple excellents innosetup.
Messages postés
675
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
16 septembre 2018
5
0
Merci
Bonjour,

Cela ne répond pas à ma question.
Je n'ai pas demandé un logiciel qui ferait des programmes d'installation à ma place, j'ai demandé comment faire son propre programme d'installation en VB.NET, sans utiliser le type de projet "Setup".
Les programmes que tu as cités ne permettent pas de personnaliser entièrement le programme.
Célien
Messages postés
5784
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
23 juin 2019
1844 -
Si, ces programmes sont très puissants et permettent de personnaliser entièrement le programme d'installation, ce sont des outils spécialisés, mais des vrais outils de développement, ils sont faits pour ça. Donc soit tu les utilises et tu fait un très bon boulot rapidement, soit tu essayes de refaire la même chose sous VB.NET mais ça sera 100 fois plus long et 100 fois plus difficile c'est ton choix.
Anonyme209
Messages postés
675
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
16 septembre 2018
5 -
Dans ce cas, explique-moi comment faire, avec innosetup:
- Personnaliser la fenêtre (taille, couleur etc.)
- Choisir le code de désinstallation (par exemple, supprimer un dossier, une clé de registre etc... ATTENTION: Avec cet exemple, le dossier ou la clé ne sera pas forcément créé(e) lors de l'installation, mais par le programme installé).
- Rajouter des options lors de l'installation/désinstallation (par exemple, spécifier un nom d'utilisateur, rajouter une case à cocher etc.)
Célien
Messages postés
5784
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
23 juin 2019
1844 -
Il y à pas tout mais ça te donnera une idée : Tutoriel innosetup, pour les fonctions avancées regarde l'outil lui même et la doc.
Anonyme209
Messages postés
675
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
16 septembre 2018
5 -
Si, ces programmes sont très puissants et permettent de personnaliser entièrement le programme d'installation


Si, finalement, inno setup ne permet pas de personnaliser entièrement, je repose la question du début: comment créer un programme d'installation en VB.NET
. (Ce n'est pas grave si c'est
100 fois plus long et 100 fois plus difficile
).
Anonyme209
Messages postés
675
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
16 septembre 2018
5 -
Bonjour,

J'ai trouvé la solution tout seul:
Il faut d'abord générer un GUID aléatoire.
Pour que le programme apparaisse dans la liste des programmes et fonctionnalités, il faut créer la clé de registre
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{guid application}

ensuite dans cette clé il faut créer (au moins) ces valeurs:
DisplayName //(le nom de l'application)
DisplayVersion //(la version de l'application)
InstallDate //(année mois jour sans espace: 20151706)
Publisher //(le nom du créateur)
UninstallString //(l'adresse du fichier de désinstallation (si créé))

valeurs supplémentaires:
HelpLink //(le lien Internet vers une éventuelle page d'aide en ligne)
URLInfoAbout //(l'éventuel lien Internet d'informations relatives à l'application)
URLUpdateInfo //(l'éventuel lien Internet fournissant des infos sur les mises à jour)
NoModify //(si défini sur 1, l'option "Modifier" n'apparaîtra pas dans la panneau de configuration pour cette application)
NoRepair //(si défini sur 1, l'option "Réparer" n'apparaîtra pas dans la panneau de configuration pour cette application)


Ensuite, pour les raccourcis, j'ai trouvé ce code:
 Dim WSHShell = CreateObject("WScript.Shell")
Dim Shortcut = WSHShell.CreateShortcut("raccourci.lnk")
With Shortcut
    .TargetPath = WSHShell.ExpandEnvironmentStrings("adresse_executable_application.exe")
    .IconLocation = WSHShell.ExpandEnvironmentStrings("emplacement_icone_raccourci", 0)
    .Description = "description_application"
End With
Shortcut.Save()

(Il faut adapter pour ne pas recréer le raccourci en cas de mise à jour de l'application)

Enfin, il ne reste plus qu'à créer le dossier d'installation et y copier les fichiers de l'application. Quand lesdits fichiers sont importés dans les ressources du projet, il suffit de faire:
My.Computer.FileSystem.WriteAllBytes("dossier\nom_fichier.extension", My.Resources.Fichier, False)


Si vous souhaitez faire un programme de désinstallation, il vous suffit de lui faire supprimer la clé de registre, les raccourcis et le dossier d'installation créés.