Visual Studio 2008 du Projet de l'Installateur - Actions Personnalisées pas de tir
Je n'arrive pas à obtenir une action personnalisée de travail. J'ai peut-être mal compris. Voici ce que j'essaie de faire:
J'aimerais exécuter une action personnalisée dans mon installation de l'application (Visual Studio Installer de projet) qui exécute un fichier exécutable. L'exécutable ne fonctionne tout simplement un système.io filecopy tâches, et j'ai confirmé que l'exécutable lorsque couru par lui-même fonctionne parfaitement.
- J'ai créé le projet de l'installateur de
- ajouté le fichier exe dans le dossier de l'application
- est allé à des actions personnalisées et ajouté le fichier exe à la validation de l'étape
- InstallerClass est définie sur true
- Exécuté le programme d'installation, ne pas obtenir le résultat que j'espérais. J'ai donc ajouté une ligne à écrire à l'ouverture de session windows. Regardé dans les journaux Windows après avoir exécuté le programme d'installation à nouveau et il a regardé comme il ne fonctionne pas. Ajout d'un débogage.pause à l'exe code Unisntalled/réinstallé mon installateur et rien ne s'est passé. J'ai finalement s'assit et regarda le processus, et a confirmé l'exe n'est jamais exécutée.
Toutes les pensées?
Ciblées Systèmes: Windows XP, Vista
Visual Studio Version: 2008 Sp1
Langue: VB.NET
Ciblées Cadre: 2.0
Excellent. Je pense que je suis plus proche grâce au code que vous avez posté. Je me suis converti à VB et j'obtiens cette erreur: Impossible de Trouver myexename.savedstate. Je suppose que je suis censé passer quelque chose pour les sous-titres que vous avez posté, mais je ne sais pas quoi. (en passant c'est une application console) j'ai ajouté une référence à la System.Configuration.Install.dll et voici mon code:
Les Importations Du Système.ComponentModel Les Importations Du Système.La Configuration.Installer _ Public Class ApplicationInstaller Hérite De L'Installateur Public Surcharges Remplace Sous Commit(ByVal savedState Comme IDictionary) "Faire le travail de validation The_Sub_I_Want_To_Run() End Sub Public Surcharges Remplace Sous Installer(ByVal stateSaver Comme IDictionary) "Faire le travail sur installer End Sub Public Surcharges Écrase Sous le Désinstaller(ByVal savedState Comme IDictionary) "Faire le travail sur désinstaller End Sub Fin De La Classe
Je n'appelle pas ça. Je n'ai jamais utilisé le programme d'installation de classe avant. J'ai peut-être fait quelque chose de très rookie ici. Selon vos instructions, j'ai ajouté le code que j'ai collé ci-dessous dans le fichier exe je veux exécuter lors de mon installation. J'ai ajouté le fichier exe dans mon dossier de l'application, puis de l'ajouter à la Commettre une action personnalisée. Maintenant, ici, c'est le code que j'ai maintenant dans la source de mon exe que j'essaie de l'exécuter:
_
Public Class ApplicationInstaller
Inherits Installer
Public Overloads Overrides Sub Commit(ByVal savedState As IDictionary)
' Do some work on commit
The_Sub_I_Have_my_codein()
MyBase.Commit(savedState)
End Sub
Public Overloads Overrides Sub Install(ByVal stateSaver As IDictionary)
' Do some work on install
End Sub
Public Overloads Overrides Sub Uninstall(ByVal savedState As IDictionary)
' Do some work on uninstall
End Sub
End Class
Hmmm... Dans l'exe les Propriétés du Projet j'ai cliqué sur "Signer l'assembly" et l'erreur a disparu. Cependant, on dirait de l'exe ne fonctionne pas le code je le veux.
OriginalL'auteur Cj Anderson | 2008-11-26
Vous devez vous connecter pour publier un commentaire.
L'exe ou la bibliothèque que vous ajoutez à la validation de l'étape doit contenir une classe dérivant de Installateur et marquée avec le RunInstaller attribut comme suit:
Espère que cette aide.
OriginalL'auteur Darin Dimitrov
Faites-vous appel à la méthode de base?
OriginalL'auteur Darin Dimitrov
Ensemble
propriété "faux".
OriginalL'auteur Andrey Neverov