2010-05-21 2 views
4

Я хочу сгенерировать файлы MSI из файла .vdproj с помощью команды devenv в командной строке. Эта команда работает хорошо, но файл MSI не создается. Что не так?Запуск devenv в .vdproj в командной строке не создает MSI

Что нужно установить в переменных среды или есть ли другой способ генерации MSI из файла .vdproj?

ответ

0

Я не думаю, что msi будет genereated с devenv.com, вы можете выбрать wix с nant для создания установщика.

У Нанта есть задача, задача msi, но для нее требуется мини-кабинет sdk, который недоступен для загрузки.

читать это для более подробной информации Build merge module without Devenv from .vdproj

P.S. Если вы найдете другой способ создания установщика, поделитесь им.

4

Это обычно (по моему опыту!), Вызванное неправильной настройкой конфигурации. В Visual Studio на уровне решения вы можете перейти в меню Build и выбрать Configuration Manager. Убедитесь, что для всех применимых конфигураций (выбранных с помощью раскрывающегося списка Active Solution Configuration) проект установщика имеет галочку в столбце Build.

Теперь вы должны убедиться, что при вызове Devenv вы передаете конфигурацию соответствующих сборки (т.е. тот, который имеет Build галочку для проекта установки) следующим образом:

C:\PathToVisualStudio\devenv.exe /Rebuild Release C:\PathToProject\ProjectName.sln" /Out "PathToProject\vs_errors.txt" 

(В этом примере, Release это конфигурация сборки, на которую я нацелен)

Эта команда также регистрирует вывод Visual Studio в текстовый файл с именем vs_errors.txt в той же папке, что и ваше решение, поэтому вы можете просмотреть это, чтобы определить, есть ли другие причины, почему проект установки не удалось создать.

3

Над сценарием работал для меня, попробуйте и дайте мне знать, если это сработает для вас. У вас может быть какая-то конфигурация. Я использовал Release | x86. Просто замените эту строку своей конфигурацией, и она должна работать. Убедитесь, что любая конфигурация, которую вы используете, существует в файле .sln или .csproj, в противном случае вы можете получить некоторую ошибку о недопустимой конфигурации. Надеюсь это поможет.

<target name="BuildMsi"> 
    <echo message="Creating installables (.msi) for MyTestApplication, please wait..."/>  
    <exec program="c:\program files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe"> 
     <arg value="c:\My app\My_Test_solution.sln"/> 
     <arg value="/build"/> 
     <arg value="Release|x86" /> 
     <arg value="/project"/> 
     <arg value="c:\My app\setup\My_Test_solution.vdproj"/> 
    </exec> 
</target> 
1

Мой случай был тот же, и давая имя проекта с/проект помог .msi генерации файла,

devenv /build Release /project SDK-Deployment SDK-Deployment.vdproj 
Смежные вопросы