Comment inclure les conditions préalables à msi/Setup.exe dans WIX
J'essaie de combiner mon colis dans un seul setup EXE fichier et le télécharger sur l'Internet.
J'ai créé un Microsoft programme d'amorçage qui contient Setup.exe avec le projet MSI de sortie et pré-requis .NET Framework 2.0, Programme D'Installation De Windows 3.1 , Visual C++ 2005 transmissibles, et Microsoft ReportViewer. J'ai créé un projet d'installation à l'aide de Visual Studio; 2008.
Maintenant, je suis en train de créer un seul comprimé de configuration à l'aide de WiX 3.6. J'ai installé Visual Studio; 2008.
J'ai joint le setup.exe et fichier MSI à l'aide des commandes suivantes.
<ExePackage SourceFile ="setup.exe" Compressed ="yes"/>
<MsiPackage SourceFile ="myproject.msi" Compressed ="yes" />
Mais il est impossible de trouver le fichier MSI. Comment puis-je inclure les conditions préalables ci-dessus?
Ou puis-je télécharger les conditions préalables ci-dessus à partir de l'Internet lors de l'installation? Comment dois-je faire?
OriginalL'auteur Narayan | 2013-07-04
Vous devez vous connecter pour publier un commentaire.
J'ai supprimé le défaut
setup.exe
à partir de Visual Studio et utilisé le fichier MSI et les dépendances à partir de Visual Studio pour créer un WiX 3.6 programme d'Amorçage:Il compresse en un seul fichier EXE avec un prérequis.
OriginalL'auteur Narayan
SourceFile
d'accepter un chemin d'accès relatif .le fichier msi. Ou, si vous êtes à la construction de l' .fichier msi avec un WiX projet d'Installation, vous pouvez ajouter une référence au projet d'Installation dans le WiX Programme D'Amorçage projet. Qui définit les variables vous pouvez l'utiliser comme ceci:Vos utilisateurs auront probablement une meilleure expérience si vous déposez le Visual Studio Programme D'Amorçage et de mettre toutes les conditions préalables dans le WiX programme d'Amorçage. Ça va être un peu plus de travail pour vous, car il n'y a pas de pré-définies
ExePackageGroup
ouExePackage
pour l'ensemble de votre projet préalables.Le meilleur endroit pour vérifier pour plus d'informations sur ce qui devrait aller dans un
ExePackage
définition est la documentation pour la condition en question. Mais, il est également instructif de comparer avec Visual Studio packages de programme d'Amorçage (dans, par exemple,C:\Program Files\Microsoft Visual Studio 9\SDK\v2.0\Bootstrapper\Packages
) et de semblables conditions préalables qui pourraient être prédéfinie dans le WiX code source. En particulier, dans le WiX code source, vous trouverez unExePackage
que les téléchargements .NET 4 de l'Internet si nécessaire lors de l'installation.OriginalL'auteur Tom Blodget
Vous pouvez inclure certains pré-requis de fichier avec quelque chose comme:
Au-dessus des copies de la requisite.exe fichier à l'intérieur C:/MyApp.
Ensuite, vous devez exécuter l'requisite.exe fichier à partir de votre programme en fonction de certaines conditions.
C'est le plus basique et simple sans l'aide de compliqué Wix de sorcellerie.
Ma suggestion est d'insérer le pré-requis de vérifier et d'installation possible à l'intérieur de votre programme (si il peut tout d'abord exécuter sans cette condition préalable). Vous pouvez par exemple stocker ces informations à l'intérieur .ini fichier et le lire avec votre programme, si pas trouvé, alors appel à un Système.Diagnostics.Processus.Début("requisite.exe"); pour le lancer
OriginalL'auteur dendini
Vous pouvez utiliser quelque chose comme NSIS pour envelopper votre programme d'amorçage et MSI. Vous aurez besoin de rédiger un simple script NSIS, comme ceci:
Enregistrer ce pour un fichier nommé SetupWrapper.ins, et de modifier le nom du produit et des chemins de setup.exe et votre fichier MSI. Maintenant vous pouvez créer ce fichier pour obtenir un fichier exécutable unique qui contient le programme d'amorçage et le MSI.
Lorsque cet EXE est exécuté, il n'aura pas d'INTERFACE utilisateur de son propre -- il sera tout simplement l'extrait de votre programme d'amorçage et MSI dans un dossier temporaire, puis exécutez le programme d'amorçage, et nettoyer par la suite.
Vous pouvez également ajouter une étape de post-construction pour votre projet de construction de ce wrapper, qui va générer automatiquement le combiné wrapper EXE. Pour ce faire, vous pouvez ajouter une commande comme ceci:
OriginalL'auteur Nikhil Dabas