Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Encore un problème avec la mise à jour de mon appli

10 réponses
Avatar
Bull
Bonjour,

J'ai une appli en cours de phase bêta durant laquelle je sors de nouvelles
versions au fur et à mesure. Mon problème est que lors de ma version
précédente, un fichier .ini a la propriété permanente, donc même après une
désinstallation il n'est pas supprimé.

Or, lorsque j'installe la nouvelle version au même endroit, étant donné que
le fichier .ini existe déjà, le windows installer ne l'écrase pas avec la
version du fichier .ini contenu dans le fichier d'install.

Ma question est donc : comment, lors de l'installation de mon appli, forcer
la copie du fichier .ini même s'il existe déjà avant ?

Merci beaucoup

10 réponses

Avatar
Christophe
au lancement de ton soft test si t'es sur la nouvelle install et refait un
petit code va ecrire ton ini (avec un StreamWriter) ou inclut un petit
selfextract a ton install qui se lance en silence et qui ecrase ton fichier
ini.


"Bull" a écrit dans le message de
news:
Bonjour,

J'ai une appli en cours de phase bêta durant laquelle je sors de nouvelles
versions au fur et à mesure. Mon problème est que lors de ma version
précédente, un fichier .ini a la propriété permanente, donc même après une
désinstallation il n'est pas supprimé.

Or, lorsque j'installe la nouvelle version au même endroit, étant donné


que
le fichier .ini existe déjà, le windows installer ne l'écrase pas avec la
version du fichier .ini contenu dans le fichier d'install.

Ma question est donc : comment, lors de l'installation de mon appli,


forcer
la copie du fichier .ini même s'il existe déjà avant ?

Merci beaucoup




Avatar
Bull
Saurais-tu plutôt comment faire pour qu'au lancement de l'install, après
avoir choisi le chemin de destination, vérifier si le fichier .ini en
question existe déjà et si oui l'effacer tout simplement ?

Merci


"Christophe" a écrit dans le message de
news:ccsaeq$1d8$
au lancement de ton soft test si t'es sur la nouvelle install et refait un
petit code va ecrire ton ini (avec un StreamWriter) ou inclut un petit
selfextract a ton install qui se lance en silence et qui ecrase ton


fichier
ini.


"Bull" a écrit dans le message de
news:
> Bonjour,
>
> J'ai une appli en cours de phase bêta durant laquelle je sors de


nouvelles
> versions au fur et à mesure. Mon problème est que lors de ma version
> précédente, un fichier .ini a la propriété permanente, donc même après


une
> désinstallation il n'est pas supprimé.
>
> Or, lorsque j'installe la nouvelle version au même endroit, étant donné
que
> le fichier .ini existe déjà, le windows installer ne l'écrase pas avec


la
> version du fichier .ini contenu dans le fichier d'install.
>
> Ma question est donc : comment, lors de l'installation de mon appli,
forcer
> la copie du fichier .ini même s'il existe déjà avant ?
>
> Merci beaucoup
>
>




Avatar
Bonjour,

pour faire cela tu peux programmer une class d'installation elle test
l'existence du fichier ini et le supprime si il existe ensuite ton install
copie le fichier ini tu pourra faire intervenir cette classe d'install dans
mon projet de setup après la dernière validation de l'utilisateur avant le
début de l'installtion de mémoire c avec un clic bouton droit sur le projet
ensuite il y a un menu action personnalisée

Sebastien


"Bull" a écrit dans le message de
news:
Saurais-tu plutôt comment faire pour qu'au lancement de l'install, après
avoir choisi le chemin de destination, vérifier si le fichier .ini en
question existe déjà et si oui l'effacer tout simplement ?

Merci


"Christophe" a écrit dans le message de
news:ccsaeq$1d8$
> au lancement de ton soft test si t'es sur la nouvelle install et refait


un
> petit code va ecrire ton ini (avec un StreamWriter) ou inclut un petit
> selfextract a ton install qui se lance en silence et qui ecrase ton
fichier
> ini.
>
>
> "Bull" a écrit dans le message de
> news:
> > Bonjour,
> >
> > J'ai une appli en cours de phase bêta durant laquelle je sors de
nouvelles
> > versions au fur et à mesure. Mon problème est que lors de ma version
> > précédente, un fichier .ini a la propriété permanente, donc même après
une
> > désinstallation il n'est pas supprimé.
> >
> > Or, lorsque j'installe la nouvelle version au même endroit, étant


donné
> que
> > le fichier .ini existe déjà, le windows installer ne l'écrase pas avec
la
> > version du fichier .ini contenu dans le fichier d'install.
> >
> > Ma question est donc : comment, lors de l'installation de mon appli,
> forcer
> > la copie du fichier .ini même s'il existe déjà avant ?
> >
> > Merci beaucoup
> >
> >
>
>




Avatar
Bull
Bonjour,

J'ai essayé d'avancer un peu avec vos conseils. Dans mon projet contenant
mon windows form, j'ai créé une class héritant de
System.Configuration.Install.Installer

Je suppose ensuite que je dois utiliser l'évènement before_install

Le problème maintenant, c'est que je ne sais pas comment récupérer le chemin
d'installation choisi par l'utilisateur. Quelqu'un aurait-il une idée ou un
lien avec un exemple de création de fichier d'installation ?
Merci :)

a écrit dans le message de
news:%2378r3L$
Bonjour,

pour faire cela tu peux programmer une class d'installation elle test
l'existence du fichier ini et le supprime si il existe ensuite ton install
copie le fichier ini tu pourra faire intervenir cette classe d'install


dans
mon projet de setup après la dernière validation de l'utilisateur avant le
début de l'installtion de mémoire c avec un clic bouton droit sur le


projet
ensuite il y a un menu action personnalisée

Sebastien


"Bull" a écrit dans le message de
news:
> Saurais-tu plutôt comment faire pour qu'au lancement de l'install, après
> avoir choisi le chemin de destination, vérifier si le fichier .ini en
> question existe déjà et si oui l'effacer tout simplement ?
>
> Merci
>
>
> "Christophe" a écrit dans le message de
> news:ccsaeq$1d8$
> > au lancement de ton soft test si t'es sur la nouvelle install et


refait
un
> > petit code va ecrire ton ini (avec un StreamWriter) ou inclut un petit
> > selfextract a ton install qui se lance en silence et qui ecrase ton
> fichier
> > ini.
> >
> >
> > "Bull" a écrit dans le message de
> > news:
> > > Bonjour,
> > >
> > > J'ai une appli en cours de phase bêta durant laquelle je sors de
> nouvelles
> > > versions au fur et à mesure. Mon problème est que lors de ma version
> > > précédente, un fichier .ini a la propriété permanente, donc même


après
> une
> > > désinstallation il n'est pas supprimé.
> > >
> > > Or, lorsque j'installe la nouvelle version au même endroit, étant
donné
> > que
> > > le fichier .ini existe déjà, le windows installer ne l'écrase pas


avec
> la
> > > version du fichier .ini contenu dans le fichier d'install.
> > >
> > > Ma question est donc : comment, lors de l'installation de mon appli,
> > forcer
> > > la copie du fichier .ini même s'il existe déjà avant ?
> > >
> > > Merci beaucoup
> > >
> > >
> >
> >
>
>




Avatar
Bull
Je crois que j'ai trouvé comment récupérer le répertoire d'install choisi
par l'utilisateur :
Context.Parameters("InstallationFolder").ToString()

Par contre, je ne sais pas comment faire pour ajouter la class installer que
je viens de créer dans le projet de mon win form aux actions personnalités :
j'ai bien trouvé où ajouter une action perso mais il me demande une dll ou
un .exe ??? Or je ne sais pas comment créer une dll de ma class installer.

Quelqu'un pourrait-il m'aider ?
Merci beaucoup


"Bull" a écrit dans le message de
news:%
Bonjour,

J'ai essayé d'avancer un peu avec vos conseils. Dans mon projet contenant
mon windows form, j'ai créé une class héritant de
System.Configuration.Install.Installer

Je suppose ensuite que je dois utiliser l'évènement before_install

Le problème maintenant, c'est que je ne sais pas comment récupérer le


chemin
d'installation choisi par l'utilisateur. Quelqu'un aurait-il une idée ou


un
lien avec un exemple de création de fichier d'installation ?
Merci :)

a écrit dans le message de
news:%2378r3L$
> Bonjour,
>
> pour faire cela tu peux programmer une class d'installation elle test
> l'existence du fichier ini et le supprime si il existe ensuite ton


install
> copie le fichier ini tu pourra faire intervenir cette classe d'install
dans
> mon projet de setup après la dernière validation de l'utilisateur avant


le
> début de l'installtion de mémoire c avec un clic bouton droit sur le
projet
> ensuite il y a un menu action personnalisée
>
> Sebastien
>
>
> "Bull" a écrit dans le message de
> news:
> > Saurais-tu plutôt comment faire pour qu'au lancement de l'install,


après
> > avoir choisi le chemin de destination, vérifier si le fichier .ini en
> > question existe déjà et si oui l'effacer tout simplement ?
> >
> > Merci
> >
> >
> > "Christophe" a écrit dans le message de
> > news:ccsaeq$1d8$
> > > au lancement de ton soft test si t'es sur la nouvelle install et
refait
> un
> > > petit code va ecrire ton ini (avec un StreamWriter) ou inclut un


petit
> > > selfextract a ton install qui se lance en silence et qui ecrase ton
> > fichier
> > > ini.
> > >
> > >
> > > "Bull" a écrit dans le message de
> > > news:
> > > > Bonjour,
> > > >
> > > > J'ai une appli en cours de phase bêta durant laquelle je sors de
> > nouvelles
> > > > versions au fur et à mesure. Mon problème est que lors de ma


version
> > > > précédente, un fichier .ini a la propriété permanente, donc même
après
> > une
> > > > désinstallation il n'est pas supprimé.
> > > >
> > > > Or, lorsque j'installe la nouvelle version au même endroit, étant
> donné
> > > que
> > > > le fichier .ini existe déjà, le windows installer ne l'écrase pas
avec
> > la
> > > > version du fichier .ini contenu dans le fichier d'install.
> > > >
> > > > Ma question est donc : comment, lors de l'installation de mon


appli,
> > > forcer
> > > > la copie du fichier .ini même s'il existe déjà avant ?
> > > >
> > > > Merci beaucoup
> > > >
> > > >
> > >
> > >
> >
> >
>
>




Avatar
Bonjour,

c'est assez simple tu a du créer un nouveau projet pour faire ta classe
installer le meiu étant d'avoir créé une bibliothèque de classe tu compile
cette bibliothèque ça te donne une dll et c elle que tu met dans ton action
personnalisée

si tu a ajouté la classe installer dans ton projet final c une erreur crée
un nouveau projet copie et colle ta class installer dedans

Sebastien

"Bull" a écrit dans le message de
news:
Je crois que j'ai trouvé comment récupérer le répertoire d'install choisi
par l'utilisateur :
Context.Parameters("InstallationFolder").ToString()

Par contre, je ne sais pas comment faire pour ajouter la class installer


que
je viens de créer dans le projet de mon win form aux actions personnalités


:
j'ai bien trouvé où ajouter une action perso mais il me demande une dll ou
un .exe ??? Or je ne sais pas comment créer une dll de ma class installer.

Quelqu'un pourrait-il m'aider ?
Merci beaucoup


"Bull" a écrit dans le message de
news:%
> Bonjour,
>
> J'ai essayé d'avancer un peu avec vos conseils. Dans mon projet


contenant
> mon windows form, j'ai créé une class héritant de
> System.Configuration.Install.Installer
>
> Je suppose ensuite que je dois utiliser l'évènement before_install
>
> Le problème maintenant, c'est que je ne sais pas comment récupérer le
chemin
> d'installation choisi par l'utilisateur. Quelqu'un aurait-il une idée ou
un
> lien avec un exemple de création de fichier d'installation ?
> Merci :)
>
> a écrit dans le message de
> news:%2378r3L$
> > Bonjour,
> >
> > pour faire cela tu peux programmer une class d'installation elle test
> > l'existence du fichier ini et le supprime si il existe ensuite ton
install
> > copie le fichier ini tu pourra faire intervenir cette classe d'install
> dans
> > mon projet de setup après la dernière validation de l'utilisateur


avant
le
> > début de l'installtion de mémoire c avec un clic bouton droit sur le
> projet
> > ensuite il y a un menu action personnalisée
> >
> > Sebastien
> >
> >
> > "Bull" a écrit dans le message de
> > news:
> > > Saurais-tu plutôt comment faire pour qu'au lancement de l'install,
après
> > > avoir choisi le chemin de destination, vérifier si le fichier .ini


en
> > > question existe déjà et si oui l'effacer tout simplement ?
> > >
> > > Merci
> > >
> > >
> > > "Christophe" a écrit dans le message de
> > > news:ccsaeq$1d8$
> > > > au lancement de ton soft test si t'es sur la nouvelle install et
> refait
> > un
> > > > petit code va ecrire ton ini (avec un StreamWriter) ou inclut un
petit
> > > > selfextract a ton install qui se lance en silence et qui ecrase


ton
> > > fichier
> > > > ini.
> > > >
> > > >
> > > > "Bull" a écrit dans le message de
> > > > news:
> > > > > Bonjour,
> > > > >
> > > > > J'ai une appli en cours de phase bêta durant laquelle je sors de
> > > nouvelles
> > > > > versions au fur et à mesure. Mon problème est que lors de ma
version
> > > > > précédente, un fichier .ini a la propriété permanente, donc même
> après
> > > une
> > > > > désinstallation il n'est pas supprimé.
> > > > >
> > > > > Or, lorsque j'installe la nouvelle version au même endroit,


étant
> > donné
> > > > que
> > > > > le fichier .ini existe déjà, le windows installer ne l'écrase


pas
> avec
> > > la
> > > > > version du fichier .ini contenu dans le fichier d'install.
> > > > >
> > > > > Ma question est donc : comment, lors de l'installation de mon
appli,
> > > > forcer
> > > > > la copie du fichier .ini même s'il existe déjà avant ?
> > > > >
> > > > > Merci beaucoup
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>




Avatar
Bull
Bonjour,

Tout d'abord merci pour ta réponse.

Alors j'ai fait comme tu m'as dit, j'ai créé un nouveau projet de type
"bibliothèque de classe". Dans le fichier vb de ce projet, j'ai mis ça :

Public Class Class1

Inherits System.Configuration.Install.Installer

Private Sub install_BeforeInstall(ByVal sender As Object, ByVal e As
System.Configuration.Install.InstallEventArgs) Handles MyBase.BeforeInstall

Dim appStartFolder As String Context.Parameters("InstallationFolder").ToString()

MsgBox(appStartFolder)

End Sub

Public Overrides Sub Install(ByVal stateSaver As
System.Collections.IDictionary)

MsgBox("coucou")

Install(stateSaver)

End Sub

End Class


J'ai ensuite compilé, ajouter la dll à mon projet de déploiement dans les
actions personnalités / installer.

J'ai ensuite compilé ma solution et installé mon appli. Or, il semble que la
fameuse dll ne soit pas lancée car aucune de mes msgbox n'est apparue.

Quelqu'un pourrait-il me donner un exemple de class Installer qui fasse
juste apparaitre un p'tit "coucou" que je comprenne d'où vient mon erreur ?

Merci d'avance,
Bull


a écrit dans le message de
news:%
Bonjour,

c'est assez simple tu a du créer un nouveau projet pour faire ta classe
installer le meiu étant d'avoir créé une bibliothèque de classe tu compile
cette bibliothèque ça te donne une dll et c elle que tu met dans ton


action
personnalisée

si tu a ajouté la classe installer dans ton projet final c une erreur crée
un nouveau projet copie et colle ta class installer dedans

Sebastien

"Bull" a écrit dans le message de
news:
> Je crois que j'ai trouvé comment récupérer le répertoire d'install


choisi
> par l'utilisateur :
> Context.Parameters("InstallationFolder").ToString()
>
> Par contre, je ne sais pas comment faire pour ajouter la class installer
que
> je viens de créer dans le projet de mon win form aux actions


personnalités
:
> j'ai bien trouvé où ajouter une action perso mais il me demande une dll


ou
> un .exe ??? Or je ne sais pas comment créer une dll de ma class


installer.
>
> Quelqu'un pourrait-il m'aider ?
> Merci beaucoup
>
>
> "Bull" a écrit dans le message de
> news:%
> > Bonjour,
> >
> > J'ai essayé d'avancer un peu avec vos conseils. Dans mon projet
contenant
> > mon windows form, j'ai créé une class héritant de
> > System.Configuration.Install.Installer
> >
> > Je suppose ensuite que je dois utiliser l'évènement before_install
> >
> > Le problème maintenant, c'est que je ne sais pas comment récupérer le
> chemin
> > d'installation choisi par l'utilisateur. Quelqu'un aurait-il une idée


ou
> un
> > lien avec un exemple de création de fichier d'installation ?
> > Merci :)
> >
> > a écrit dans le message de
> > news:%2378r3L$
> > > Bonjour,
> > >
> > > pour faire cela tu peux programmer une class d'installation elle


test
> > > l'existence du fichier ini et le supprime si il existe ensuite ton
> install
> > > copie le fichier ini tu pourra faire intervenir cette classe


d'install
> > dans
> > > mon projet de setup après la dernière validation de l'utilisateur
avant
> le
> > > début de l'installtion de mémoire c avec un clic bouton droit sur le
> > projet
> > > ensuite il y a un menu action personnalisée
> > >
> > > Sebastien
> > >
> > >
> > > "Bull" a écrit dans le message de
> > > news:
> > > > Saurais-tu plutôt comment faire pour qu'au lancement de l'install,
> après
> > > > avoir choisi le chemin de destination, vérifier si le fichier .ini
en
> > > > question existe déjà et si oui l'effacer tout simplement ?
> > > >
> > > > Merci
> > > >
> > > >
> > > > "Christophe" a écrit dans le message de
> > > > news:ccsaeq$1d8$
> > > > > au lancement de ton soft test si t'es sur la nouvelle install et
> > refait
> > > un
> > > > > petit code va ecrire ton ini (avec un StreamWriter) ou inclut un
> petit
> > > > > selfextract a ton install qui se lance en silence et qui ecrase
ton
> > > > fichier
> > > > > ini.
> > > > >
> > > > >
> > > > > "Bull" a écrit dans le message de
> > > > > news:
> > > > > > Bonjour,
> > > > > >
> > > > > > J'ai une appli en cours de phase bêta durant laquelle je sors


de
> > > > nouvelles
> > > > > > versions au fur et à mesure. Mon problème est que lors de ma
> version
> > > > > > précédente, un fichier .ini a la propriété permanente, donc


même
> > après
> > > > une
> > > > > > désinstallation il n'est pas supprimé.
> > > > > >
> > > > > > Or, lorsque j'installe la nouvelle version au même endroit,
étant
> > > donné
> > > > > que
> > > > > > le fichier .ini existe déjà, le windows installer ne l'écrase
pas
> > avec
> > > > la
> > > > > > version du fichier .ini contenu dans le fichier d'install.
> > > > > >
> > > > > > Ma question est donc : comment, lors de l'installation de mon
> appli,
> > > > > forcer
> > > > > > la copie du fichier .ini même s'il existe déjà avant ?
> > > > > >
> > > > > > Merci beaucoup
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>




Avatar
Va voir ce lien déjà il t'en apprendra beaucoup

http://msdn.microsoft.com/library/fre/default.asp?url=/library/fre/vsintro7/html/vxwlkwalkthroughusingcustomactiontocreatedatabaseduringinstallation.asp


j'avais fait le projet que tu a demandé mais il fait 24 Mo alors pour
l'uploader c plutot long ;)

Sebastien

PS : c'est un peu plus complexe que hello world ;)
"Bull" a écrit dans le message de
news:%
Bonjour,

Tout d'abord merci pour ta réponse.

Alors j'ai fait comme tu m'as dit, j'ai créé un nouveau projet de type
"bibliothèque de classe". Dans le fichier vb de ce projet, j'ai mis ça :

Public Class Class1

Inherits System.Configuration.Install.Installer

Private Sub install_BeforeInstall(ByVal sender As Object, ByVal e As
System.Configuration.Install.InstallEventArgs) Handles


MyBase.BeforeInstall

Dim appStartFolder As String > Context.Parameters("InstallationFolder").ToString()

MsgBox(appStartFolder)

End Sub

Public Overrides Sub Install(ByVal stateSaver As
System.Collections.IDictionary)

MsgBox("coucou")

Install(stateSaver)

End Sub

End Class


J'ai ensuite compilé, ajouter la dll à mon projet de déploiement dans les
actions personnalités / installer.

J'ai ensuite compilé ma solution et installé mon appli. Or, il semble que


la
fameuse dll ne soit pas lancée car aucune de mes msgbox n'est apparue.

Quelqu'un pourrait-il me donner un exemple de class Installer qui fasse
juste apparaitre un p'tit "coucou" que je comprenne d'où vient mon erreur


?

Merci d'avance,
Bull


a écrit dans le message de
news:%
> Bonjour,
>
> c'est assez simple tu a du créer un nouveau projet pour faire ta classe
> installer le meiu étant d'avoir créé une bibliothèque de classe tu


compile
> cette bibliothèque ça te donne une dll et c elle que tu met dans ton
action
> personnalisée
>
> si tu a ajouté la classe installer dans ton projet final c une erreur


crée
> un nouveau projet copie et colle ta class installer dedans
>
> Sebastien
>
> "Bull" a écrit dans le message de
> news:
> > Je crois que j'ai trouvé comment récupérer le répertoire d'install
choisi
> > par l'utilisateur :
> > Context.Parameters("InstallationFolder").ToString()
> >
> > Par contre, je ne sais pas comment faire pour ajouter la class


installer
> que
> > je viens de créer dans le projet de mon win form aux actions
personnalités
> :
> > j'ai bien trouvé où ajouter une action perso mais il me demande une


dll
ou
> > un .exe ??? Or je ne sais pas comment créer une dll de ma class
installer.
> >
> > Quelqu'un pourrait-il m'aider ?
> > Merci beaucoup
> >
> >
> > "Bull" a écrit dans le message de
> > news:%
> > > Bonjour,
> > >
> > > J'ai essayé d'avancer un peu avec vos conseils. Dans mon projet
> contenant
> > > mon windows form, j'ai créé une class héritant de
> > > System.Configuration.Install.Installer
> > >
> > > Je suppose ensuite que je dois utiliser l'évènement before_install
> > >
> > > Le problème maintenant, c'est que je ne sais pas comment récupérer


le
> > chemin
> > > d'installation choisi par l'utilisateur. Quelqu'un aurait-il une


idée
ou
> > un
> > > lien avec un exemple de création de fichier d'installation ?
> > > Merci :)
> > >
> > > a écrit dans le message de
> > > news:%2378r3L$
> > > > Bonjour,
> > > >
> > > > pour faire cela tu peux programmer une class d'installation elle
test
> > > > l'existence du fichier ini et le supprime si il existe ensuite ton
> > install
> > > > copie le fichier ini tu pourra faire intervenir cette classe
d'install
> > > dans
> > > > mon projet de setup après la dernière validation de l'utilisateur
> avant
> > le
> > > > début de l'installtion de mémoire c avec un clic bouton droit sur


le
> > > projet
> > > > ensuite il y a un menu action personnalisée
> > > >
> > > > Sebastien
> > > >
> > > >
> > > > "Bull" a écrit dans le message de
> > > > news:
> > > > > Saurais-tu plutôt comment faire pour qu'au lancement de


l'install,
> > après
> > > > > avoir choisi le chemin de destination, vérifier si le fichier


.ini
> en
> > > > > question existe déjà et si oui l'effacer tout simplement ?
> > > > >
> > > > > Merci
> > > > >
> > > > >
> > > > > "Christophe" a écrit dans le message de
> > > > > news:ccsaeq$1d8$
> > > > > > au lancement de ton soft test si t'es sur la nouvelle install


et
> > > refait
> > > > un
> > > > > > petit code va ecrire ton ini (avec un StreamWriter) ou inclut


un
> > petit
> > > > > > selfextract a ton install qui se lance en silence et qui


ecrase
> ton
> > > > > fichier
> > > > > > ini.
> > > > > >
> > > > > >
> > > > > > "Bull" a écrit dans le message de
> > > > > > news:
> > > > > > > Bonjour,
> > > > > > >
> > > > > > > J'ai une appli en cours de phase bêta durant laquelle je


sors
de
> > > > > nouvelles
> > > > > > > versions au fur et à mesure. Mon problème est que lors de ma
> > version
> > > > > > > précédente, un fichier .ini a la propriété permanente, donc
même
> > > après
> > > > > une
> > > > > > > désinstallation il n'est pas supprimé.
> > > > > > >
> > > > > > > Or, lorsque j'installe la nouvelle version au même endroit,
> étant
> > > > donné
> > > > > > que
> > > > > > > le fichier .ini existe déjà, le windows installer ne


l'écrase
> pas
> > > avec
> > > > > la
> > > > > > > version du fichier .ini contenu dans le fichier d'install.
> > > > > > >
> > > > > > > Ma question est donc : comment, lors de l'installation de


mon
> > appli,
> > > > > > forcer
> > > > > > > la copie du fichier .ini même s'il existe déjà avant ?
> > > > > > >
> > > > > > > Merci beaucoup
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>




Avatar
Bull
Merci beaucoup !

Je pense (j'espère) pouvoir me débrouiller maintenant avec ce lien.

Encore merci
@+
Bull

a écrit dans le message de
news:
Va voir ce lien déjà il t'en apprendra beaucoup




http://msdn.microsoft.com/library/fre/default.asp?url=/library/fre/vsintro7/html/vxwlkwalkthroughusingcustomactiontocreatedatabaseduringinstallation.asp


j'avais fait le projet que tu a demandé mais il fait 24 Mo alors pour
l'uploader c plutot long ;)

Sebastien

PS : c'est un peu plus complexe que hello world ;)
"Bull" a écrit dans le message de
news:%
> Bonjour,
>
> Tout d'abord merci pour ta réponse.
>
> Alors j'ai fait comme tu m'as dit, j'ai créé un nouveau projet de type
> "bibliothèque de classe". Dans le fichier vb de ce projet, j'ai mis ça :
>
> Public Class Class1
>
> Inherits System.Configuration.Install.Installer
>
> Private Sub install_BeforeInstall(ByVal sender As Object, ByVal e As
> System.Configuration.Install.InstallEventArgs) Handles
MyBase.BeforeInstall
>
> Dim appStartFolder As String > > Context.Parameters("InstallationFolder").ToString()
>
> MsgBox(appStartFolder)
>
> End Sub
>
> Public Overrides Sub Install(ByVal stateSaver As
> System.Collections.IDictionary)
>
> MsgBox("coucou")
>
> Install(stateSaver)
>
> End Sub
>
> End Class
>
>
> J'ai ensuite compilé, ajouter la dll à mon projet de déploiement dans


les
> actions personnalités / installer.
>
> J'ai ensuite compilé ma solution et installé mon appli. Or, il semble


que
la
> fameuse dll ne soit pas lancée car aucune de mes msgbox n'est apparue.
>
> Quelqu'un pourrait-il me donner un exemple de class Installer qui fasse
> juste apparaitre un p'tit "coucou" que je comprenne d'où vient mon


erreur
?
>
> Merci d'avance,
> Bull
>
>
> a écrit dans le message de
> news:%
> > Bonjour,
> >
> > c'est assez simple tu a du créer un nouveau projet pour faire ta


classe
> > installer le meiu étant d'avoir créé une bibliothèque de classe tu
compile
> > cette bibliothèque ça te donne une dll et c elle que tu met dans ton
> action
> > personnalisée
> >
> > si tu a ajouté la classe installer dans ton projet final c une erreur
crée
> > un nouveau projet copie et colle ta class installer dedans
> >
> > Sebastien
> >
> > "Bull" a écrit dans le message de
> > news:
> > > Je crois que j'ai trouvé comment récupérer le répertoire d'install
> choisi
> > > par l'utilisateur :
> > > Context.Parameters("InstallationFolder").ToString()
> > >
> > > Par contre, je ne sais pas comment faire pour ajouter la class
installer
> > que
> > > je viens de créer dans le projet de mon win form aux actions
> personnalités
> > :
> > > j'ai bien trouvé où ajouter une action perso mais il me demande une
dll
> ou
> > > un .exe ??? Or je ne sais pas comment créer une dll de ma class
> installer.
> > >
> > > Quelqu'un pourrait-il m'aider ?
> > > Merci beaucoup
> > >
> > >
> > > "Bull" a écrit dans le message de
> > > news:%
> > > > Bonjour,
> > > >
> > > > J'ai essayé d'avancer un peu avec vos conseils. Dans mon projet
> > contenant
> > > > mon windows form, j'ai créé une class héritant de
> > > > System.Configuration.Install.Installer
> > > >
> > > > Je suppose ensuite que je dois utiliser l'évènement before_install
> > > >
> > > > Le problème maintenant, c'est que je ne sais pas comment récupérer
le
> > > chemin
> > > > d'installation choisi par l'utilisateur. Quelqu'un aurait-il une
idée
> ou
> > > un
> > > > lien avec un exemple de création de fichier d'installation ?
> > > > Merci :)
> > > >
> > > > a écrit dans le message de
> > > > news:%2378r3L$
> > > > > Bonjour,
> > > > >
> > > > > pour faire cela tu peux programmer une class d'installation elle
> test
> > > > > l'existence du fichier ini et le supprime si il existe ensuite


ton
> > > install
> > > > > copie le fichier ini tu pourra faire intervenir cette classe
> d'install
> > > > dans
> > > > > mon projet de setup après la dernière validation de


l'utilisateur
> > avant
> > > le
> > > > > début de l'installtion de mémoire c avec un clic bouton droit


sur
le
> > > > projet
> > > > > ensuite il y a un menu action personnalisée
> > > > >
> > > > > Sebastien
> > > > >
> > > > >
> > > > > "Bull" a écrit dans le message de
> > > > > news:
> > > > > > Saurais-tu plutôt comment faire pour qu'au lancement de
l'install,
> > > après
> > > > > > avoir choisi le chemin de destination, vérifier si le fichier
.ini
> > en
> > > > > > question existe déjà et si oui l'effacer tout simplement ?
> > > > > >
> > > > > > Merci
> > > > > >
> > > > > >
> > > > > > "Christophe" a écrit dans le message de
> > > > > > news:ccsaeq$1d8$
> > > > > > > au lancement de ton soft test si t'es sur la nouvelle


install
et
> > > > refait
> > > > > un
> > > > > > > petit code va ecrire ton ini (avec un StreamWriter) ou


inclut
un
> > > petit
> > > > > > > selfextract a ton install qui se lance en silence et qui
ecrase
> > ton
> > > > > > fichier
> > > > > > > ini.
> > > > > > >
> > > > > > >
> > > > > > > "Bull" a écrit dans le message de
> > > > > > > news:
> > > > > > > > Bonjour,
> > > > > > > >
> > > > > > > > J'ai une appli en cours de phase bêta durant laquelle je
sors
> de
> > > > > > nouvelles
> > > > > > > > versions au fur et à mesure. Mon problème est que lors de


ma
> > > version
> > > > > > > > précédente, un fichier .ini a la propriété permanente,


donc
> même
> > > > après
> > > > > > une
> > > > > > > > désinstallation il n'est pas supprimé.
> > > > > > > >
> > > > > > > > Or, lorsque j'installe la nouvelle version au même


endroit,
> > étant
> > > > > donné
> > > > > > > que
> > > > > > > > le fichier .ini existe déjà, le windows installer ne
l'écrase
> > pas
> > > > avec
> > > > > > la
> > > > > > > > version du fichier .ini contenu dans le fichier d'install.
> > > > > > > >
> > > > > > > > Ma question est donc : comment, lors de l'installation de
mon
> > > appli,
> > > > > > > forcer
> > > > > > > > la copie du fichier .ini même s'il existe déjà avant ?
> > > > > > > >
> > > > > > > > Merci beaucoup
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>





Avatar
Bull
Voila, merci beaucoup, j'ai réussi à ouvrir mon fichier .ini durant
l'install. Pour récupérer le chemin d'installation choisi, j'ai fait ça :
Context.Parameters("assemblypath").Substring(0,
Context.Parameters("assemblypath").LastIndexOf("")) + "configoptions.ini"

La méthode est-elle correcte ? Ca marche mais je voudrais être sûr que ce
soit "propre" comme méthode.

Merci

a écrit dans le message de
news:
Va voir ce lien déjà il t'en apprendra beaucoup




http://msdn.microsoft.com/library/fre/default.asp?url=/library/fre/vsintro7/html/vxwlkwalkthroughusingcustomactiontocreatedatabaseduringinstallation.asp


j'avais fait le projet que tu a demandé mais il fait 24 Mo alors pour
l'uploader c plutot long ;)

Sebastien

PS : c'est un peu plus complexe que hello world ;)
"Bull" a écrit dans le message de
news:%
> Bonjour,
>
> Tout d'abord merci pour ta réponse.
>
> Alors j'ai fait comme tu m'as dit, j'ai créé un nouveau projet de type
> "bibliothèque de classe". Dans le fichier vb de ce projet, j'ai mis ça :
>
> Public Class Class1
>
> Inherits System.Configuration.Install.Installer
>
> Private Sub install_BeforeInstall(ByVal sender As Object, ByVal e As
> System.Configuration.Install.InstallEventArgs) Handles
MyBase.BeforeInstall
>
> Dim appStartFolder As String > > Context.Parameters("InstallationFolder").ToString()
>
> MsgBox(appStartFolder)
>
> End Sub
>
> Public Overrides Sub Install(ByVal stateSaver As
> System.Collections.IDictionary)
>
> MsgBox("coucou")
>
> Install(stateSaver)
>
> End Sub
>
> End Class
>
>
> J'ai ensuite compilé, ajouter la dll à mon projet de déploiement dans


les
> actions personnalités / installer.
>
> J'ai ensuite compilé ma solution et installé mon appli. Or, il semble


que
la
> fameuse dll ne soit pas lancée car aucune de mes msgbox n'est apparue.
>
> Quelqu'un pourrait-il me donner un exemple de class Installer qui fasse
> juste apparaitre un p'tit "coucou" que je comprenne d'où vient mon


erreur
?
>
> Merci d'avance,
> Bull
>
>
> a écrit dans le message de
> news:%
> > Bonjour,
> >
> > c'est assez simple tu a du créer un nouveau projet pour faire ta


classe
> > installer le meiu étant d'avoir créé une bibliothèque de classe tu
compile
> > cette bibliothèque ça te donne une dll et c elle que tu met dans ton
> action
> > personnalisée
> >
> > si tu a ajouté la classe installer dans ton projet final c une erreur
crée
> > un nouveau projet copie et colle ta class installer dedans
> >
> > Sebastien
> >
> > "Bull" a écrit dans le message de
> > news:
> > > Je crois que j'ai trouvé comment récupérer le répertoire d'install
> choisi
> > > par l'utilisateur :
> > > Context.Parameters("InstallationFolder").ToString()
> > >
> > > Par contre, je ne sais pas comment faire pour ajouter la class
installer
> > que
> > > je viens de créer dans le projet de mon win form aux actions
> personnalités
> > :
> > > j'ai bien trouvé où ajouter une action perso mais il me demande une
dll
> ou
> > > un .exe ??? Or je ne sais pas comment créer une dll de ma class
> installer.
> > >
> > > Quelqu'un pourrait-il m'aider ?
> > > Merci beaucoup
> > >
> > >
> > > "Bull" a écrit dans le message de
> > > news:%
> > > > Bonjour,
> > > >
> > > > J'ai essayé d'avancer un peu avec vos conseils. Dans mon projet
> > contenant
> > > > mon windows form, j'ai créé une class héritant de
> > > > System.Configuration.Install.Installer
> > > >
> > > > Je suppose ensuite que je dois utiliser l'évènement before_install
> > > >
> > > > Le problème maintenant, c'est que je ne sais pas comment récupérer
le
> > > chemin
> > > > d'installation choisi par l'utilisateur. Quelqu'un aurait-il une
idée
> ou
> > > un
> > > > lien avec un exemple de création de fichier d'installation ?
> > > > Merci :)
> > > >
> > > > a écrit dans le message de
> > > > news:%2378r3L$
> > > > > Bonjour,
> > > > >
> > > > > pour faire cela tu peux programmer une class d'installation elle
> test
> > > > > l'existence du fichier ini et le supprime si il existe ensuite


ton
> > > install
> > > > > copie le fichier ini tu pourra faire intervenir cette classe
> d'install
> > > > dans
> > > > > mon projet de setup après la dernière validation de


l'utilisateur
> > avant
> > > le
> > > > > début de l'installtion de mémoire c avec un clic bouton droit


sur
le
> > > > projet
> > > > > ensuite il y a un menu action personnalisée
> > > > >
> > > > > Sebastien
> > > > >
> > > > >
> > > > > "Bull" a écrit dans le message de
> > > > > news:
> > > > > > Saurais-tu plutôt comment faire pour qu'au lancement de
l'install,
> > > après
> > > > > > avoir choisi le chemin de destination, vérifier si le fichier
.ini
> > en
> > > > > > question existe déjà et si oui l'effacer tout simplement ?
> > > > > >
> > > > > > Merci
> > > > > >
> > > > > >
> > > > > > "Christophe" a écrit dans le message de
> > > > > > news:ccsaeq$1d8$
> > > > > > > au lancement de ton soft test si t'es sur la nouvelle


install
et
> > > > refait
> > > > > un
> > > > > > > petit code va ecrire ton ini (avec un StreamWriter) ou


inclut
un
> > > petit
> > > > > > > selfextract a ton install qui se lance en silence et qui
ecrase
> > ton
> > > > > > fichier
> > > > > > > ini.
> > > > > > >
> > > > > > >
> > > > > > > "Bull" a écrit dans le message de
> > > > > > > news:
> > > > > > > > Bonjour,
> > > > > > > >
> > > > > > > > J'ai une appli en cours de phase bêta durant laquelle je
sors
> de
> > > > > > nouvelles
> > > > > > > > versions au fur et à mesure. Mon problème est que lors de


ma
> > > version
> > > > > > > > précédente, un fichier .ini a la propriété permanente,


donc
> même
> > > > après
> > > > > > une
> > > > > > > > désinstallation il n'est pas supprimé.
> > > > > > > >
> > > > > > > > Or, lorsque j'installe la nouvelle version au même


endroit,
> > étant
> > > > > donné
> > > > > > > que
> > > > > > > > le fichier .ini existe déjà, le windows installer ne
l'écrase
> > pas
> > > > avec
> > > > > > la
> > > > > > > > version du fichier .ini contenu dans le fichier d'install.
> > > > > > > >
> > > > > > > > Ma question est donc : comment, lors de l'installation de
mon
> > > appli,
> > > > > > > forcer
> > > > > > > > la copie du fichier .ini même s'il existe déjà avant ?
> > > > > > > >
> > > > > > > > Merci beaucoup
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>