Press "Enter" to skip to content

Comment obtenir les paramètres de l'application pour les fichiers de configuration basés sur Wix ?

L'identifiant doit être entièrement en MAJUSCULES – il s'agit d'un code secret pour "cette propriété est publique". Dans votre élément de composant… utilisez l'élément XmlFILE de la bibliothèque util pour prendre la propriété et la bloquer dans le app.config (fonctionne également pour web.config).

Q. Comment gérer plusieurs fichiers dans l'appli Wix ?

Déplacer des fichiers et des dossiers dans l'application de partage de fichiers. Gérer plusieurs fichiers ou dossiers à la fois dans l'application de partage de fichiers. Suppression de fichiers et de dossiers dans l'application de partage de fichiers. Gestion des autorisations de bibliothèque dans l'application de partage de fichiers. Utiliser l'appli Wix File Share sur un appareil mobile. Utilisation de l'espace membre avec l'application de partage de fichiers.

Q. Un fichier Wxi peut-il être inclus dans un projet Wix ?

Pour l'instant, il n'y a aucun moyen de dire à WiX dans Visual Studio d'avoir un fichier d'inclusion wxi disponible pour l'ensemble du projet, vous devez donc l'inclure dans chaque fichier séparément. Seules les variables définies dans "Définir les variables du préprocesseur" ou les variables d'environnement système sont accessibles à l'ensemble du projet pour l'instant.

Q. Quelles sont les principales parties d'un projet Wix ?

Dans le post précédent, nous avons examiné la structure de la solution/du projet WiX et les propriétés du projet. Nous jouons toujours avec notre super application SuperForm et aujourd'hui, nous allons jeter un œil aux parties générales du fichier wxs principal, SuperForm.wxs, et du fichier d'inclusion wxi.

Q. Comment ajouter une configuration à un fichier de configuration ?

S'il n'y a pas d'instruction existante du même nom, l'opération de remplacement ajoute les instructions marquées de la balise de remplacement à la configuration active. Remarque : Pour que cette opération fonctionne, vous devez inclure des balises de remplacement dans le fichier texte ou dans la configuration que vous saisissez au niveau du terminal. Appuyez sur Ctrl+A pour sélectionner tout le texte dans le fichier de configuration.

Q. Comment changer les valeurs par défaut dans Wix ?

Les valeurs par défaut seront remplacées lors de l'exécution du programme d'installation. J'utilise la bibliothèque WiX util, vous devez donc ajouter l'espace de noms XML à vos documents (indiqué par « xmlns:util » ci-dessous…) : Dans l'élément product… ajoutez un élément property. L'identifiant doit être entièrement en MAJUSCULES – il s'agit d'un code secret pour "cette propriété est publique".

Q. Comment échapper à XPath dans le fichier de configuration Wix ?

Remarque spéciale – le XPath doit vraiment être échappé comme indiqué car WiX utilise [ et ] pour délimiter les jetons de propriété, vous devez donc : Dans votre boîte de dialogue d'interface utilisateur (dans un fichier séparé nommé "SettingsDlg.wxs" dans mon cas) … besoin d'ajouter une étiquette et une zone d'édition pour permettre à l'utilisateur de saisir les données dans le cadre du processus d'installation.

Q. Comment supprimer des fichiers et des dossiers de Wix 3.9 ?

Avec cette approche, tous les sous-répertoires sont également supprimés (par opposition à l'utilisation directe de l'élément RemoveFile ). Cet élément ajoute des lignes temporaires aux tables RemoveFile et RemoveFolder dans la base de données MSI. Avertissement : Lorsque vous utilisez RemoveFolderEx on=”uninstall”, cela supprime également le dossier lors d'une mise à niveau (Wix 3.9).

Q. Comment supprimer les fichiers Wix de la base de données MSI ?

Utilisez l'élément RemoveFolderEx de l'extension Util dans WiX. Avec cette approche, tous les sous-répertoires sont également supprimés (par opposition à l'utilisation directe de l'élément RemoveFile ). Cet élément ajoute des lignes temporaires aux tables RemoveFile et RemoveFolder dans la base de données MSI. Pour ce faire, j'ai simplement créé une action personnalisée à appeler lors de la désinstallation.

Q. Où se trouve l'attribut de texte dans l'installation basée sur Wix ?

L'attribut Propriété relie la zone d'édition à la propriété configurée ci-dessus. La propriété Text prend la valeur actuelle de la propriété et l'affiche, de sorte que l'utilisateur peut choisir de laisser votre valeur par défaut s'il le souhaite (rendant ainsi votre programme d'installation 1 000 fois plus convivial).

Q. Quand utiliser l'élément propriété dans Wix ?

L'élément Property définit l'Id pour les résultats de la recherche de fichiers. Cet identifiant est utilisé plus tard dans le projet WiX, par exemple dans conditions. L'élément DirectorySearch est utilisé pour construire la hiérarchie de répertoires pour rechercher le fichier.

Q. Avez-vous une interface utilisateur personnalisée dans Wix ?

Hypothèse : vous avez déjà créé votre propre interface utilisateur personnalisée (probablement en copiant l'une des normes WiX et en la modifiant). Si vous avez fait cela, vous constaterez que vous avez déjà une charge de chaîne localisée disponible, mais vous voudrez probablement en ajouter d'autres comme décrit plus loin dans cet article).

Q. Comment modifier les valeurs par défaut dans le document Wix util ?

Aucun jeton n'est nécessaire pour cette méthode, vous pouvez donc laisser vos valeurs par défaut. Les valeurs par défaut seront remplacées lors de l'exécution du programme d'installation. J'utilise la bibliothèque WiX util, vous devez donc ajouter l'espace de noms XML à vos documents (indiqué par « xmlns:util » ci-dessous…) : Dans l'élément product… ajoutez un élément property.

Q. Existe-t-il un moyen de ne jamais écraser un composant dans Wix ?

L'attribut Component @NeverOverwrite=”yes” pourrait être la solution à ce problème. À partir de la documentation d'aide de WiX : Si cet attribut est défini sur "oui", le programme d'installation n'installe pas ou ne réinstalle pas le composant si un fichier de chemin de clé ou une entrée de registre de chemin de clé pour le composant existe déjà.