Partager via


Dépannage des projets de configuration et de déploiement

Les rubriques de cette section traitent des problèmes que vous pouvez rencontrer lorsque vous créez des projets de déploiement ou que vous déployez des applications.

La version du .NET Framework requise par le projet d'installation est différente de la version du .NET Framework ciblée par l'application

Les projets d'installation ont une condition de lancement qui peut rechercher une version particulière de la version du .NET Framework. Toutefois, la version ne peut pas être la même que la version du .NET Framework cible utilisée par l'application. Par exemple, votre application peut cibler .NET Framework 2.0, alors que la condition de lancement dans le projet d'installation peut rechercher et installer .NET Framework 3.5. Pour donner un autre exemple, un modèle de projet Visual Studio peut cibler .NET Framework 4 Client Profile, alors que le projet d'installation a une condition de lancement pour rechercher et installer .NET Framework 4.

Pour modifier ce comportement par défaut, procédez comme suit :

  1. Dans l'Explorateur de solutions, cliquez sur le projet d'installation.

  2. Dans le menu Affichage, pointez sur Éditeur et cliquez sur Conditions de lancement.

  3. Cliquez sur .NET Framework.

  4. Dans la fenêtre Propriétés, remplacez la propriété version par la version du .NET Framework que le projet d'installation doit rechercher et installer.

Assurez-vous que le programme Setup.exe recherche et installe également la version correcte du .NET Framework. Pour plus d'informations, consultez Composants requis, boîte de dialogue et Comment : installer les composants requis dans le déploiement de Windows Installer.

Impossible d'installer le .NET Framework 3.5 SP1 sur Windows Server 2008 R2 ou Windows 7

Vous pouvez configurer des projets d'installation pour inclure .NET Framework 3.5 SP1 comme composant requis. Toutefois, l'installation de ce composant requis sur un ordinateur Windows Server 2008 R2 ou Windows 7 entraîne l'affichage du message d'erreur suivant : « Vous devez utiliser l'outil de gestion de rôles pour installer ou configurer Microsoft .NET Framework 3.5 SP1 ». Windows Server 2008 R2 inclut le .NET Framework 3.5 SP1 comme composant facultatif de système d'exploitation, mais par défaut, ce composant requis est désactivé. Pour plus d'informations, consultez Quelle version de .NET est générée dans Windows ? (page éventuellement en anglais)

Pour contourner cette erreur, modifiez le package du programme d'amorçage de .NET Framework 3.5 SP1.

  1. Créez un programme exécutable qui exécute cette ligne de commande "ocsetup Netfx3".

  2. Naviguez jusqu'au dossier %ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX35SP1.

  3. Copiez le programme exécutable dans le dossier DotNetFX35SP1.

  4. Naviguez jusqu'au dossier en, puis ouvrez le package.xml avec des privilèges d'administrateur.

  5. Ajoutez un élément <Command> dans la section <Commands> pour exécuter le programme exécutable.

Erreurs lors de l'utilisation de l'utilitaire de capture de registre de Microsoft Visual Studio sous Windows 7

Si vous utilisez l'utilitaire de capture de registre de Microsoft Visual Studio (regcap.exe) sur un ordinateur qui exécute Windows 7, le message d'erreur suivant peut s'afficher : « L'utilitaire de capture de registre de Microsoft Visual Studio a cessé de fonctionner. » Il se peut que le projet de programme d'installation soit généré, mais ensuite, la dll n'est pas installée.

Pour contourner cette erreur, suivez ces étapes :

  1. Naviguez jusqu'à %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\Tools\Deployment.

  2. Cliquez avec le bouton droit sur regcap.exe, puis cliquez sur Propriétés.

  3. Cliquez sur Compatibilité.

  4. Activez la case à cocher sous le mode Compatibilité.

Les dépendances ne sont pas détectées avec des projets d'installation Visual C++

Si vous ajoutez un projet d'installation dans une solution Visual C++, les dépendances dans la solution Visual C++ ne seront peut-être pas détectées si le chemin d'accès au dossier comporte des espaces dans le nom. Une solution de contournement consiste à renommer les projets pour supprimer l'espace ou à ajouter manuellement les dépendances. Par exemple, remplacez Documents\Visual Studio 2010\Projects par Documents\VisualStudio2010\Projects.

Impossible de générer des projets d'installation dans Visual Studio avec le contrôle de code source

Lorsque vous générez des projets d'installation dans Visual Studio 2008, vous pouvez voir des erreurs telles que la suivante : « La commande que vous essayez d'utiliser ne peut pas être exécutée, car le fichier filename.vdproj est sous contrôle de code source et n'est pas extrait ». Les projets d'installation n'extraient pas automatiquement les fichiers du contrôle de code source.

Système d'exploitation pris en charge

Le programme d'amorçage et le programme d'installation (projets d'installation) de Visual Studio ne sont pas pris en charge sur les versions d'installation minimale de Windows Server 2008 ou Windows Server 2008 R2, qui fournissent un environnement serveur à faible maintenance avec des fonctionnalités limitées. Par exemple, l'option d'installation minimale prend uniquement en charge le profil d'installation minimale de .NET Framework 3.5 ; les fonctionnalités Visual Studio qui dépendent de la version complète du .NET Framework ne peuvent donc pas s'exécuter. Pour plus d'informations, consultez Server Core.

Impossible d'installer des actions personnalisées managées

Lorsque vous installez une action personnalisée managée, vous pouvez voir un message d'erreur indiquant que le fichier .installstate est manquant. Cela se produit si l'action personnalisée managée n'implémente pas l'action d'installation. L'action d'installation crée le fichier .installstate et les autres actions mettent à jour le fichier.

Pour résoudre cette erreur, implémentez les actions d'installation, de désinstallation, de validation et d'annulation dans l'action personnalisée.

Impossible d'installer des modules linguistiques .NET Framework 3.5 SP1 pour des paramètres régionaux si Visual Studio 2008 utilise des paramètres régionaux différents

Lorsque vous sélectionnez .NET Framework 3.5 SP1 comme un composant requis dans les projets d'installation, Visual Studio ne génère pas de programme d'amorçage ou de programme d'installation afin d'installer le module linguistique pour des paramètres régionaux différents. Par exemple, si vous utilisez une version non japonaise de Visual Studio, le projet d'installation n'inclut pas le module linguistique Japonais de .NET Framework 3.5 SP1.

Pour résoudre cette erreur et créer un redistribuable japonais pour .NET Framework 3.5 SP1, créez un répertoire ja dans le répertoire %ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX35SP1. Le répertoire ja doit contenir les fichiers eula.rtf et package.xml.

Impossible d'installer des modules linguistiques si .NET Framework 3.5 SP1 est déjà installé

Si le .NET Framework 3.5 SP1 principal est déjà installé sur un ordinateur, les modules linguistiques de .NET Framework 3.5 SP1 ne peuvent pas s'installer. Par exemple, si .NET Framework 3.5 SP1 est déjà installé sur un ordinateur, vous ne pouvez pas installer le module linguistique Japonais de .NET Framework 3.5 SP1 comme un composant requis dans un programme d'installation d'application différent.

Vous devez créer un package du programme d'amorçage pour les modules linguistiques seulement. Dans ce package du programme d'amorçage, ajoutez une dépendance à .NET Framework 3.5 SP1 afin que les modules linguistiques s'installent uniquement si le .NET Framework principal est déjà installé. Vous pouvez également installer manuellement les modules linguistiques.

Les actions personnalisées managées 64 bits lèvent une exception System.BadImageFormatException

Si vous ajoutez une action personnalisée managée 64 bits à un projet d'installation, le processus de génération Visual Studio incorpore une version 32 bits de InstallUtilLib.dll dans le MSI comme InstallUtil. Ensuite, le .NET Framework 32 bits est chargé pour exécuter l'action personnalisée managée 64 bits et déclenche une exception BadImageFormatException.

La solution de contournement consiste à remplacer InstallUtilLib.dll 32 bits par la version 64 bits.

  1. Ouvrez le .msi résultant dans Orca à partir du Kit de développement Windows Installer (SDK).

  2. Sélectionnez la table binaire.

  3. Double-cliquez sur la cellule [Données binaires] pour l'enregistrement InstallUtil.

  4. Assurez-vous que l'option Lire le binaire à partir du nom de fichier est sélectionnée, puis cliquez sur le bouton Parcourir.

  5. Naviguer jusqu'à %WINDIR%\Microsoft.NET\Framework64\v2.0.50727.

    Notes

    Le répertoire Framework64 est installé uniquement sur les plateformes 64 bits et correspond au type de processeur 64 bits.

  6. Sélectionnez InstallUtilLib.dll.

  7. Cliquez sur le bouton Ouvrir.

  8. Cliquez sur OK.

Pour plus d'informations, consultez Actions personnalisées managées avec Visual Studio (page éventuellement en anglais).

Création d'un chemin d'accès pour une boîte de dialogue personnalisée et une zone de texte

Si vous créez une boîte de dialogue personnalisée avec une zone de texte, la boîte de dialogue « Dossier d'installation » doit être placée après la boîte de dialogue personnalisée. La valeur de répertoire sera alors propagée automatiquement. Dans le cas contraire, si l'ordre de cette boîte de dialogue et de la boîte de dialogue « Dossier d'installation » est inversé, la valeur de répertoire doit être propagée manuellement.

Les erreurs de build supplémentaires s'affichent dans la fenêtre Sortie

En cas d'erreur de build spécifique, vous pouvez également consulter les messages d'erreur génériques tels que « Défaillance générale lors de la génération du programme d'amorçage » ou « Erreur de build irrécupérable ». Ignorez ces messages d'erreur génériques et résolvez l'erreur spécifique.

Les fichiers précédemment exclus sont de nouveau inclus lorsque la solution est rouverte

Lorsque vous excluez un fichier d'un projet d'installation, vous pouvez voir que le fichier est de nouveau inclus lorsque vous fermez et rouvrez la solution. Cela peut se produire s'il existe deux copies du même fichier DLL dans deux emplacements source différents.

Pour résoudre cette erreur, modifiez la propriété Copy Local dans l'un des fichiers :

  1. Dans l'Explorateur de solutions, cliquez sur la référence de DLL que vous souhaitez supprimer.

  2. Dans le menu Affichage, cliquez sur Fenêtre Propriétés.

  3. Remplacez la valeur de la propriété Copy Local par False.

La génération des projets d'installation a échoué et l'erreur « Mémoire insuffisante pour cette opération » s'est affichée

Lorsque vous ajoutez des fichiers volumineux à un projet d'installation, l'erreur suivante apparaît après votre tentative de génération du projet d'installation : « Mémoire insuffisante pour cette opération », même si le disque dur local possède de l'espace disque disponible. Il peut également y avoir une augmentation de l'utilisation de la mémoire virtuelle pendant le processus de génération.

Pour résoudre cette erreur, ajoutez de la RAM à l'ordinateur de build ou essayez cette solution de contournement :

  1. Dans le projet, ajoutez un fichier portant le même nom que le fichier volumineux.

  2. Dans la page des propriétés du projet, définissez Sous forme de fichiers non compressés.

  3. Procédez à la génération.

  4. Copiez les fichiers volumineux de taille normale vers l'emplacement de génération.

Le projet d'installation ne met pas à jour les fichiers modifiés

Même si vous configurez votre projet d'installation pour supprimer les versions antérieures des fichiers, Windows Installer ne remplace pas les fichiers qui ont été modifiés ou remplacés par l'utilisateur. Pour plus d'informations, consultez Aucun fichier ne possède une version avec le contrôle du hachage des fichiers.

Impossible d'utiliser une condition de lancement pour rechercher .NET Framework 3.5 SP1

La détection préalable pour .NET Framework 3.5 SP1 n'est pas prise en charge avec les scénarios spécifiques à MSI. À la place, vous devez configurer le programme d'amorçage Setup.exe pour rechercher et installer .NET Framework 3.5 SP1. Pour plus d'informations, consultez Composants requis, boîte de dialogue.

Comment créer un programme d'amorçage 64 bits qui inclut le .NET Framework

Le fait d'inclure .NET Framework 3.0 comme un composant requis et d'installer le programme d'amorçage Setup.exe sur les ordinateurs 64 bits affiche un message d'erreur indiquant que les systèmes d'exploitation 64 bits ne sont pas pris en charge.

.NET Framework 3.5 prend en charge les systèmes d'exploitation 32 bits et 64 bits. Si votre application cible les systèmes d'exploitation 32 bits et 64 bits, sélectionnez .NET Framework 3.5 dans la boîte de dialogue Composants requis. Pour plus d'informations, consultez Composants requis, boîte de dialogue.

Comment faire pour installer les packages du programme d'amorçage pour SQL 2008 et .NET Framework 3.5 SP1 ?

Les packages du programme d'amorçage pour SQL 2008 et .NET Framework 3.5 SP1 peuvent être installés sur votre ordinateur de développement en installant les éditions Visual Studio Express. Pour Visual Studio 2010, les packages du programme d'amorçage SQL 2008 et .NET Framework 3.5 SP1 sont inclus. Par conséquent, cette solution de contournement n'est pas nécessaire.

Une barre oblique inverse dans la zone de texte provoque une exception liée à une URL ou un répertoire non valide

Si votre action personnalisée repose sur les clients tapant le chemin d'accès d'un dossier d'installation, le message d'erreur ArgumentException peut s'afficher. Il peut correspondre à un répertoire ou une URL non valide.

Pour éviter ce message d'erreur, remplacez la barre oblique inverse dans la propriété Edit1 et la zone de texte Edit1Value par un espace : /name="[TARGETDIR] ". Ensuite, analysez la valeur et créez un chemin qualifié complet à l'aide de la méthode Combine.

Impossible d'ajouter un saut de ligne (\n) à un message d'erreur dans un projet d'installation

Si vous écrivez un message d'erreur dans un projet d'installation, le caractère de saut de ligne ne peut pas être ajouté dans le projet d'installation ou avec Orca.exe. À la place, vous pouvez l'ajouter en utilisant l'API Windows Installer dans une action post-build avec la commande suivante : "INSERT INTO `Property` (`Property`, `Value`) VALUES 'ERRORMESSAGELINES', 'first\r\nnext\r\nlast')". Pour plus d'informations sur l'utilisation d'une action post-build, consultez https://go.microsoft.com/fwlink/?LinkId=150770.

Impossible de sélectionner .NET Framework 2.0 SP1 ou .NET Framework 3.0 SP1 dans la boîte de dialogue Composants requis

La boîte de dialogue Composants requis n'affiche pas .NET Framework 2.0 SP1 ou .NET Framework 3.0 SP1 dans la liste des applications à installer si ceux-ci ne sont pas déjà installés. Ils ne sont pas disponibles en tant que fichier redistribuable autonome. Pour les installer comme des composants requis sur les ordinateurs des utilisateurs finaux, sélectionnez .NET Framework 3.5 dans la boîte de dialogue Composants requis. Pour plus d'informations, consultez Composants requis, boîte de dialogue.

La valeur par défaut dans la zone de texte remplace les paramètres de ligne de commande

Si vous exécutez le programme d'installation à l'aide de l'indicateur \qb et passez les paramètres de ligne de commande pour définir des propriétés dans une boîte de dialogue utilisateur, ces paramètres peuvent être remplacés. Pour empêcher que la valeur par défaut d'une propriété soit remplacée par un client, modifiez le fichier msi à l'aide d'Orca.exe.

  1. Affectez à la valeur de champ d'édition dans la boîte de dialogue son nom de propriété. Par exemple, affectez à la propriété Edit1Value la valeur [EDITB1].

  2. Générez le MSI dans Visual Studio.

  3. Modifiez le MSI à l'aide d'ORCA et placez la valeur par défaut de la propriété dans la table Property.

  4. Enregistrez le MSI.

Vous pouvez également utiliser une action post-build pour effectuer cette modification. Pour plus d'informations sur l'utilisation d'une action post-build, consultez https://go.microsoft.com/fwlink/?LinkId=150770.

Des dépendances d'assembly n'ont pas été détectées

Lorsqu'un groupe de sorties de projet, un assembly ou un module de fusion est ajouté à un projet de déploiement, tous les assemblys dépendants sont automatiquement détectés et ajoutés au projet. Nous vous recommandons d'ajouter un groupe de sorties de projet contenant l'assembly, car les outils de déploiement peuvent détecter plus facilement les dépendances d'un groupe de sorties de projet.

Si un assembly dépendant est chargé au moment de l'exécution en utilisant du code, il ne peut pas être détecté par les outils de déploiement. Vous devez éviter de charger des assemblys à partir d'un code. Vous avez la possibilité d'ajouter manuellement les assemblys dépendants à votre projet de déploiement. Le tableau suivant répertorie les problèmes dans lesquels les dépendances ne peuvent pas être détectées et leurs solutions.

Problème de dépendance

Solution

Le projet référence un composant qui doit être uniquement installé comme composant d'un autre produit.

  • Excluez le composant du projet de déploiement.

  • Ajoutez une condition de lancement pour rechercher le composant sur l'ordinateur cible. Si le composant est introuvable, arrêtez l'installation.

Le projet référence un composant non managé qui n'expose pas toutes ses dépendances.

Le projet référence un assembly qui comporte une dépendance sur un composant non managé.

Une application MFC n'est pas localisée lorsqu'elle est installée sur un ordinateur dont les paramètres régionaux ne sont pas Français

Lors du déploiement d'une application MFC à l'aide d'un projet de déploiement Visual Studio, les dépendances des modules de fusion localisés Mfc_loc_e.msm et Mfc_loc_fe.msm ne sont pas détectées. Les modules de fusion sont inclus avec Visual C++ ; l'emplacement d'installation par défaut est \Program Files\Common\Merge Modules. Pour distribuer une application MFC localisée, vous devez ajouter manuellement les deux modules de fusion à votre projet de déploiement.

Fichiers introuvables sur un serveur Web une fois leur installation terminée

Lors de l'installation d'une configuration Web sur un serveur Web, la propriété VirtualDirectory du dossier Application Web et de tous les dossiers personnalisés Web détermine l'emplacement d'installation des fichiers placés dans ces dossiers par rapport à la racine Web. Si cette propriété n'est pas définie, les fichiers seront installés dans le dossier racine Web (Inetpub\wwwroot). Pour plus d'informations, consultez VirtualDirectory, propriété.

Comment faire pour installer une application Web dans le répertoire racine du serveur Web ?

Par défaut, lors de l'installation d'une application Web à l'aide d'un projet de déploiement de configuration Web, les fichiers sont installés dans un dossier portant le même nom que le projet de déploiement situé juste au-dessous du dossier racine Web. La propriété VirtualDirectory du dossier Application Web détermine l'emplacement d'installation des fichiers. Pour effectuer l'installation dans le répertoire racine Web, remplacez la valeur de la propriété VirtualDirectory par la valeur null (en supprimant la valeur par défaut). Pour plus d'informations, consultez VirtualDirectory, propriété.

Comment faire pour désactiver l'analyse des dépendances ?

Il n'existe malheureusement aucun moyen de désactiver la recherche et la résolution de l'analyse des dépendances. La seule solution consiste à désactiver la case à cocher Inclure les chemins de recherche standard dans la boîte de dialogue qui s'affiche lorsque vous cliquez sur la propriété SearchPath.

Vous devez tenir compte des points supplémentaires suivants :

  • Vous devez ajouter les fichiers à l'aide de la commande Ajouter un fichier (dans le menu Projet, sélectionnez Ajouter, puis Fichier). Si vous utilisez la commande Ajouter une sortie de projet (dans le menu Projet, sélectionnez Ajouter, puis Sortie de projet), les dépendances signalées par le projet de code sont incluses.

  • Lors de la génération, il se peut qu'un ou plusieurs avertissements Impossible de trouver la dépendance s'affichent, mais vous pouvez alors les ignorer.

  • Si vous voulez uniquement désactiver l'analyse des dépendances pour certains fichiers, vous pouvez placer ces fichiers dans un projet de module de fusion avec les chemins de recherche standard désactivés. Utilisez ensuite Ajouter un module de fusion (dans le menu Projet, sélectionnez Ajouter puis Module de fusion) pour inclure le fichier .msm dans un projet d'installation standard avec les chemins de recherche standard activés.

Comment faire pour désactiver la réparation pour un fichier que les utilisateurs sont susceptibles de modifier ou de supprimer ?

Visual Studio crée des raccourcis publiés de sorte que lorsque le programme est démarré, il vérifie l'existence de tous ses fichiers. Pour modifier ce comportement et faire en sorte que Visual Studio ne répare pas le fichier, sélectionnez les fichiers dans le projet d'installation et affectez la valeur NOT REINSTALL à la propriété Condition afin que le fichier ne soit pas réinstallé sur une réparation et la valeur TRUE à la propriété Transitive si vous voulez que la condition soit réévaluée. Le programme d'installation clignote à l'écran lors de sa première utilisation après la suppression du fichier, car il vérifie que le fichier ne doit pas être réinstallé. Ensuite, vous ne le voyez plus.

Comment faire pour déboguer une classe d'action/Installer personnalisée ?

Vous pouvez adopter l'une des méthodes suivantes :

  • Ajouter un appel dans le code à System.Diagnostics.Debugger.Launch. Cette méthode ouvre le débogage juste-à-temps et vous permet d'attacher un nouveau débogueur à votre code.

  • Ajouter un appel dans le code à MessageBox.Show("Debug Me"). Lorsque le message s'affiche, utilisez Visual Studio pour attacher le débogueur au processus MessageBox. Ajoutez ensuite des instructions break (pour les projets Visual C#) ou stop (pour les projets Visual Basic) dans le code.

  • Définissez vos préférences de débogage de façon à démarrer %windir%\Microsoft. net\Framework\version\InstallUtil.exe comme un programme externe sur la page de débogage du Concepteur de projets. Le nom de l'assembly d'action personnalisée est constitué des arguments de la ligne de commande. Lorsque vous appuyez sur F5, vous atteignez votre point d'arrêt. InstallUtil.exe exécutera vos actions personnalisées de la même manière qu'un fichier MSI.

L'inscription d'assemblys avec des interfaces COM ne fonctionne pas

Il s'agit d'un bogue RegAsm connu. Si votre assembly possède une dépendance, par exemple par rapport à une autre bibliothèque de classes, RegisterCOM peut ne pas fonctionner, car RegAsm est appelé pour obtenir les informations d'inscription. Regasm étant appelé dans le répertoire \obj, la dépendance est introuvable et RegAsm échoue sans notification. La meilleure solution consiste à ajouter l'assembly manuellement à partir du répertoire \bin. Une autre solution consiste à utiliser RegisterSelfReg.

Veillez également à effectuer une inscription manuelle à l'aide de RegAsm/Codebase. Si votre assembly ne se trouve pas dans un emplacement partagé, il est introuvable, à moins qu'il ne se trouve dans le même répertoire que le code appelant. /Codebase entre le répertoire dans le Registre.

Comment faire pour dépanner les installations Windows Installer à l'aide des fichiers journaux ?

Windows Installer enregistre ses opérations pendant qu'il installe les programmes dans un fichier journal. Le fichier journal se trouve dans le répertoire où réside le fichier .msi.

Comment faire pour obtenir un fichier journal pour mon installation ?

Il existe deux manières de procéder :

  • Exécutez la commande suivante à partir de la ligne de commande, à l'aide du commutateur d'enregistrement.

    misexec /i mysetup.msi /l*v mylog.txt
    
  • Enregistrez ce qui suit en tant que fichier .reg et chargez-le dans le Registre.

    REGEDIT4
    
    [HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer]
    "Logging"="voicewarmup"
    "Debug"=dword:00000007
    

    Ensuite, accédez à votre répertoire \temp et effectuez un tri par date. Le fichier journal msi*.log le plus récent provient de l'installation ou de la désinstallation la plus récente.

Comment faire pour effectuer une installation dans le sous-répertoire d'un produit déjà installé ?

  1. Supposez que le produit déjà installé, Produit 1, est installé et possède un fichier nommé MonFichier.txt.

  2. Utilisez Orca.exe (dans le Kit de développement Windows Installer) pour afficher la table de fichiers et recherchez la ligne qui représente MonFichier.txt.

  3. Notez la valeur de la colonne Component_, puis ouvrez la table des composants.

  4. Dans la table des composants, recherchez la ligne contenant la valeur Component_ dans la colonne Composant, puis récupérez le ComponentID. Copiez cette valeur dans le Presse-papiers. Fermez Orca.exe.

  5. Dans votre projet d'installation, ouvrez l'Éditeur des conditions de lancement et ajoutez-y une recherche de composant Windows Installer. Pour la propriété ComponentID de la nouvelle recherche, collez le ComponentID.

  6. Copiez la propriété Property. Elle doit ressembler à COMPONENTEXISTS1.

  7. Ouvrez l'Éditeur du système de fichiers et sélectionnez le dossier Application.

  8. Modifiez la propriété DefaultLocation pour qu'elle devienne [COMPONENTEXISTS1]MySubFolder (car le chemin dans COMPONENTEXISTS1 contient une « \ » de fin).

Après l'étape 6 ci-dessus, vous pouvez ajouter une condition à l'Éditeur des conditions de lancement pour vérifier si le composant a été trouvé, et bloquer l'installation puis afficher un message dans le cas contraire. La condition serait COMPONENTEXISTS1 (ce qui signifie que l'exécution du programme d'installation ne pose pas de problème si COMPONENTEXISTS1 n'est pas vide).

Comment faire pour installer des dossiers Web personnalisés dans un port non défini par défaut ?

Pour installer des dossiers Web personnalisés sur un port non désigné par défaut, exécutez votre installation à partir de la ligne de commande. La commande doit inclure les valeurs de la propriété Property pour chacun de vos dossiers Web personnalisés. En général, une valeur doit présenter la forme NEWWEBPROPERTY1. Vous devez également inclure TARGETPORT pour le dossier d'application Web.

Par exemple, si le serveur Web se trouve sur le port 20, votre ligne de commande doit ressembler à ce qui suit :

msiexec /i mywebsetup.msi TARGETPORT=20 NEWWEBPROPERTY1PORT=20

La commande précédente ne concerne qu'un seul dossier Web. Si vous avez plusieurs dossiers Web, ajoutez d'autres paires PROPERTY=VALUE comme spécifié ci-dessus pour chaque dossier afin de rediriger le port de chaque dossier répertorié vers le port spécifié.

Vous pouvez supprimer la boîte de dialogue Adresse d'installation, car, si quelqu'un modifie le port dans l'interface utilisateur pendant l'installation, les dossiers Web personnalisés utilisent la valeur de la ligne de commande.

Comment faire pour installer à la racine d'un site Web ?

Pour installer à la racine d'un site Web, par exemple, c:\Inetpub\wwwroot, affectez à la propriété VirtualDirectory la valeur d'une chaîne vide, soit dans le projet d'installation Web, soit pendant l'installation.

Comment faire pour installer un ServicedComponent dans le GAC et le configurer dans le catalogue COM+ ?

Si vous essayez d'installer un ServicedComponent dans le GAC (Global Assembly Cache) et de le configurer dans le catalogue COM+, l'erreur de compilation suivante risque d'être générée :

"Unable to build custom action named 'Primary output from RegServer (Active)' because the file's Folder property is set to Global Assembly Cache."

Cette installation n'est pas prise en charge, parce que les assemblys dans le GAC ne sont pas toujours disponibles (validés dans le GAC) lorsque les actions personnalisées sont exécutées.

La solution de contournement consiste à placer votre code dans différents fichiers et votre code d'action personnalisée dans un fichier qui n'est pas destiné au GAC. Il n'est pas toujours possible de distribuer le code de cette façon.

Comment faire pour créer un lien de désinstallation sur mon raccourci ?

  1. Dans le répertoire de votre projet d'installation, créez un fichier Uninstall.bat.

  2. Dans votre projet d'installation, copiez la propriété ProductCode (une valeur comme [12345678-1234-1234-1234-123412341234]).

  3. Modifiez Uninstall.bat en insérant une ligne contenant les éléments suivants, où CodeProduit désigne la valeur copiée à l'étape 2 :

    Msiexec /x CodeProduit

  4. Ajoutez Uninstall.bat au dossier d'application de votre projet d'installation.

  5. Cliquez avec le bouton droit sur Uninstall.bat et sélectionnez Créer un raccourci pour créer un raccourci.

  6. Placez le raccourci dans le dossier du menu Démarrer approprié dans le projet d'installation.

  7. Renommez le raccourci par « Désinstaller <NomApplication> », par exemple.

Où trouver des exemples d'utilisation des projets d'installation ?

Consultez Tâches et procédures pas à pas relatives au déploiement pour obtenir des exemples d'utilisation des projets d'installation.

Comment faire pour planifier le déploiement d'applications .NET Framework ?

Vous trouverez dans ce guide les informations dont vous aurez besoin pour planifier et implémenter, de manière efficace, le déploiement de vos applications .NET Framework : Déploiement d'applications .NET Framework.

Où télécharger le Kit de développement Windows Installer ?

Vous pouvez télécharger le Kit de développement logiciel Windows Installer (SDK) à partir du Centre de téléchargement Microsoft :

https://go.microsoft.com/fwlink/?LinkId=161393.

Où obtenir des mises à jour et de l'aide pour Crystal Reports ?

Les mises à jour du logiciel et les modules de fusion peuvent être installés à partir de la page « Downloads » du site Web BusinessObjects.com :

https://websmp102.sap-ag.de/~sapidp/002006825000000234912001e

Comment faire pour résoudre des messages d'erreur « Erreur de build irrécupérable » ?

Si vous recevez un message d'erreur « Erreur de build irrécupérable » lorsque vous générez des projets de configuration et de déploiement, lisez l'article suivant :

« PROBLÈME : Message d'erreur "Erreur de build irrécupérable" lors de la génération de projets de configuration et de déploiement » à l'adresse https://support.microsoft.com/?id=329214.

Comment faire pour résoudre des messages d'erreur de validation ?

Si vous recevez des messages d'erreur, tels que An error occurred when validating. HRESULT = '80040155, consultez l'article « PROBLÈME : Le message d'erreur « Erreur de build irrécupérable » s'affiche lors de la génération de projets de configuration et de déploiement » à l'adresse https://support.microsoft.com/?id=329214 et suivez les étapes de la section « Inscriptions manquantes ».

Comment modifier le service IIS pendant le déploiement avec des actions personnalisées ?

L'article « Modification des services IIS pendant le déploiement avec des actions personnalisées (page éventuellement en anglais) » sur le site Web https://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbtchUsingCustomActionsToModifyInternetInformationServerDuringDeployment.asp?frame=true explique comment résoudre les problèmes communs. Notamment :

  • la modification des paramètres d'un dossier IIS qui ne sont pas disponibles sur un dossier Web dans l'Éditeur du système de fichiers ;

  • Comment déployer une application hybride qui utilise Visual Basic 6 ainsi que Visual Basic .NET et versions ultérieures.

  • Modifications concernant le déploiement d'applications écrites avec Visual Studio .NET et comparées ultérieurement aux applications Visual Basic 6.

Comment faire pour déployer des applications ASP.NET ?

Pour plus d'informations sur le déploiement d'une application ASP.NET à l'aide de Visual Studio .NET, consultez Déploiement d'une application ASP.NET à l'aide de Visual Studio .NET (page éventuellement en anglais).

Une fois l'installation sur Windows 2000 terminée, l'application échoue et un avertissement indique que MDAC 2.8 est requis

Toute application qui référence l'espace de noms System.Data a une dépendance à Microsoft Data Access Components (MDAC) 2.8 ou versions ultérieures. Dans la plupart des cas, le fichier est déjà installé dans le cadre du système d'exploitation. Sous Windows 2000 Service Pack3 et versions antérieures, vous devrez peut-être installer le composant avec votre application. Pour ce faire, ajoutez-le au package du programme d'amorçage et téléchargez le fichier sur le site Microsoft lors de l'installation. Pour plus d'informations, consultez Composants requis pour le déploiement d'applications.

Comment faire pour modifier le niveau d'autorisation pour les actions personnalisées ?

Par défaut, les actions personnalisées s'exécutent avec les droits SYSTÈME, mais vous pouvez estimer que l'action personnalisée requiert davantage de privilèges pour effectuer la tâche. Pour modifier ce comportement par défaut, désactivez l'indicateur "noimpersonate" dans l'action personnalisée. Pour plus d'informations, consultez Options d'exécution dans le script des actions personnalisées.

Articles connexes de la Base de connaissances

Les articles suivants de la Base de connaissances fournissent des informations sur les problèmes de déploiement de Windows Installer :

Voir aussi

Référence

VirtualDirectory, propriété

Autres ressources

Déploiement d'applications et de composants

Tâches et procédures pas à pas relatives au déploiement