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

Signaler
Messages postés
677
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
10 juin 2020
-
Messages postés
677
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
10 juin 2020
-
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.

2 réponses

Messages postés
5717
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
14 septembre 2020
1 936
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
677
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
10 juin 2020
14
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.
Messages postés
5717
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
14 septembre 2020
1 936
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.
Messages postés
677
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
10 juin 2020
14
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.)
Messages postés
5717
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
14 septembre 2020
1 936
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.
Messages postés
677
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
10 juin 2020
14
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
).
Messages postés
677
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
10 juin 2020
14
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.