Ne pouvait pas trouver le fichier d'installation".bin'
Je ne suis pas en mesure de construire un Projet d'Installation dans VS2010, pour un projet de Service Windows. Il échoue avec ce message d'erreur:
Ne pouvait pas trouver le fichier d'installation".bin' dans 'C:\MyProject\Engine'.
Mon environnement est Windows 7 Professional x64 avec Visual Studio 2010 Version 10.0.40219.1 SP1Rel
J'ai téléchargé Microsoft Windows SDK pour Windows 7 et .NET Framework 4, réparé, puis redémarré, puis installé la décoché les composants à l'exception du compilateur Visual C++, puis installé KB2519277.
Ce sont les entrées de registre existantes:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\GenericBootstrapper.5
Path = c:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Bootstrapper\
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\GenericBootstrapper.0
Path = c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\
Ce sont les fichiers existants:
C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Engine\setup.bin
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Engine\setup.bin
Existant solution consiste à copier le répertoire Moteur vers le répertoire du projet, cependant, cela doit être fait à chaque fois que vous faites un nouveau projet.
Comment cela peut-il être fixé correctement?
- Avez-vous essayé d'ajouter cette répertoires à la Valeur d'Environnement PATH?
- Juste essayé, le problème persiste.
Vous devez vous connecter pour publier un commentaire.
Avec Process Monitor, j'ai trouvé que, juste avant de tenter d'accéder au chemin d'accès, une DLL est utilisée pour récupérer ce chemin. Le suivant peut-être la limite légale, mais j'aimerais partager mes découvertes, de toute façon.
La DLL est situé à
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Build.Tasks.v4.0.dll
et la classe utilisée estMicrosoft.Build.Tasks.Deployment.Bootstrapper.BootstrapperBuilder
. À l'aide de votre favori outil de démontage, vous pouvez trouver qu'en fin de compte trois tentatives sont faites pour retrouver le chemin.Je ne suis pas sûr pourquoi elle dit 11.0, aussi loin que je me souvienne VS 2012 n'a pas été installé sur cette machine avant de l'.
Donc, il y a un bug dans le SDK de l'installateur ou il y a un bug dans la DLL. De toute façon, la création de la 11.0 clé de registre et en ajoutant la valeur de résoudre ce problème. Remarque: Visual Studio doit être redémarré, car après avoir tenté de récupérer le chemin d'accès, il est mis en cache.
ToolsVersion
être4.0
ressemblent donc:<Project ToolsVersion="4.0" xmlns="http://...
et tout a bien fonctionné sans registre hackery.Avant d'aller vers le bas le trou de lapin, vérifiez que vous avez besoin du programme d'amorçage. Si vous ne le faites pas, alors vous pouvez le désactiver en effectuant l'une des opérations suivantes. Cela permettra également de résoudre l'erreur.
Le GUI façon:
Properties
Publish
Onglet sur la gauche de laPrerequisites...
boutonCreate setup program to install prerequisite components
Cette réponse est venue de ce post.
Le modifier manuellement
csproj
fichier moyen:<BootstrapperEnabled>false</BootstrapperEnabled>
au bas de la première<PropertyGroup>
élément<BootstrapperEnabled/>
élément sera ajouté?Cette solution a fonctionné pour moi (VS 2013): http://www.codewrecks.com/blog/index.php/2014/05/31/error-msb3147-could-not-find-required-file-setup-bin-in/
Modifier le CHEMIN d'accès de l'msbuild.exe pour:
C:\Program Files (x86)\MsBuild\12.0\Bin\msbuild.EXE
J'ai eu le même problème avec un build TFS.
Vous pouvez résoudre le problème en définissant la version de visual studio dans le MSBuild arguments de la définition de build:
C'est un multi étape de la solution.
D'abord assurez-vous que vous avez la .Net Sdk installé.
Alors assurez-vous que l'entrée de registre suivante existe:
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\GenericBootstrapper\11.0
Il doit contenir un 'Chemin' entrée avec la valeur pointant vers l'emplacement du programme d'amorçage:
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\
Suivantes script powershell n'est que pour vous:
Enfin, vous devez copier le contenu du "Moteur" de dossier inclus en tant que partie de Visual Studio outillage à l'emplacement répertorié dans la valeur de registre:
MA SOLUTION AU PROBLÈME: impossible de publier, car le programme d'installation.bin ne peut pas être trouvé
Lors de l'utilisation de l'assistant de publication dans vs2008, l'application ne peut pas être publié en raison de l'installation.bin ne peut pas être trouvé.
La réponse courte est:
Collez le
engine
dossier dans l'emplacement qui est indiqué dans le message d'ERREUR dans le vs2008 IDE.La
engine
dossier peut être trouvé dans laMicrosoft SDKs
dossier.La réponse longue est:
Dans mon cas, vs2008 était à la recherche pour le programme d'installation.bin en
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\engine\
.Cet emplacement a été indiqué dans le message d'erreur dans le vs2008 IDE.
La
engine
dossier n'existe pas à l'emplacement ci-dessus, parce que leengine
dossier n'était pas là.La
engine
dossier était, en fait, àC:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Engine
.Ce
engine
emplacement du dossier a été trouvé par une recherche dans le registre pour une occurrence de l'installation.binJ'ai copié le
engine
dossier deMicrosoft SDKs
dossier et collé dans leMicrosoft Visual Studio 9.0
dossier.Ce dossier copie résolu le problème et m'a permis de publier une application.
Voici les étapes que j'ai pris:
Rechercher dans le registre de configuration.bin
Lorsque le programme d'installation.bin se trouve dans le registre, l'inspection de la clé et notez l'emplacement du dossier d'installation.bin (dans mon cas, cela a été
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Engine
)Dans le VS2008 IDE, regardez dans la fenêtre d'ERREUR et notez l'emplacement du dossier d'installation.bin erreur (dans mon cas, cela a été
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\engine\
)La vs2008 IDE m'attendais à de l'installation.bin pour être en
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\engine\
, maiscette
engine
dossier n'existe pasCopiez le
engine
dossier deC:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Engine
, et collez ce dossier dans l'IDE dossier àC:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\