0

J'utilise le projet d'installation Visual Studio Installer pour installer mon programme, dans Visual Studio Community 2015. Mon programme dépend toutefois de SqlLocalDB. J'ai le SqlLocalDB.msi et je voudrais l'installer après que mon programme installe. Donc, je l'empaquette dans mon installateur, dans le dossier que mon programme va aussi. Ensuite, dans les événements post-construction, j'aiComment exécuter seperate .msi dans un événement post-construction

msiexec /a "c:\Program Files(x86)\TowerSearch\SqlLocalDB.msi" 

C'est le répertoire dans lequel le programme d'installation est installé. Toutefois, cela échoue avec le code d'erreur 1619 avec une erreur non spécifiée lorsque j'essaie de générer le projet. J'ai également essayé d'autres variations, mais en vain. Je fais probablement quelque chose de stupide qui ne fonctionne pas, mais je ne sais pas quoi. Alors, comment installer un fichier .msi séparé, si c'est possible?

+0

J'ai également essayé ceci dans admin cmd avec le répertoire que j'ai le .msi, moins les guillemets, et il a exécuté correctement –

+0

Voulez-vous vraiment '/ a' au lieu de'/i'? Cela dit à msiexec de faire une installation administrative, qui extrait le contenu du fichier .msi (saut de registre, etc.) plutôt que d'installer le fichier .msi. –

+0

Si le .msi peut installer peut installer avec/i alors je vais utiliser/i, mais j'ai toujours le problème où il me donne l'erreur de construction –

Répondre

1

Vous devrez peut-être développer votre objectif ici.

Si vous êtes sur votre système de développement, les événements post-construction sont appelés par le processus de construction de Visual Studio. Cependant, vous ne pouvez pas installer deux fois le même MSI, donc ce que vous essayez de faire n'est pas clair. Vous avez déjà ce SQL sur votre système de développement, donc vous ne pouvez pas l'installer à nouveau. L'erreur 1619 signifie qu'il ne peut pas trouver le fichier. Si cela est prévu pour les systèmes clients (pas votre système de développement), les événements de post-construction ne s'appliquent pas - ils sont une chose de développement, pas une méthode de déploiement. La façon dont vous installez un pré-requis tel que SQL est de l'avoir dans les prérequis de votre programme d'installation, où il génère un fichier setup.exe qui installe ces prérequis, puis installe votre fichier MSI.

+0

Ah, donc je veux un pré-requis, pas un post-build. Merci, c'est ce dont j'avais besoin! –