Visual Studio Installer: Obtenir Le Répertoire Cible

J'ai fouiné partout sur Google en essayant de trouver le moyen le plus approprié pour déterminer le chemin d'installation est sélectionné par un utilisateur de l'assistant d'installation.

Fondamentalement, je suis en cours d'exécution dans un problème où mon service ne peut pas créer des fichiers dans son propre répertoire, car il lui manque les autorisations appropriées. Je suis en supposant que la bonne façon de résoudre ce problème consiste à s'assurer que ce que compte le service de l'aide est donnée de fichier approprié des autorisations sur ce dossier.

Mais avant que je puisse même s'attaquer à la façon de définir des autorisations à travers .Net, j'ai besoin de savoir le dossier d'installation. Je suis en utilisant une installation de projet qui dispose d'une classe du programme d'installation qui contient un ServiceInstaller de contrôle. Les deux ont la Context bien j'ai donc été vérifier que les paramètres qui sont disponibles lorsque le AfterInstall événement se déclenche pour chacun des installateurs. J'ai d'abord pensé que je verrais le TargetDir bien défini, mais qui n'a pas été le cas. Je suis cependant de voir AssemblyPath ensemble et en pointant vers le fichier exécutable de le dossier approprié.

Essentiellement, je veux juste m'assurer que c'est la méthode la plus appropriée, je devrais être à l'aide de:

private void ProjectInstaller_AfterInstall(object sender, InstallEventArgs e)
{
    string InstallPath = System.IO.Path.GetDirectoryName(serviceInstaller1.Context.Parameters["AssemblyPath"]);;
}

OriginalL'auteur Spencer Ruport | 2010-02-18