Visual studio создать msi
Я создаю небольшое приложение и хочу создать один файл MSI.
В Visual Studio 2010 этот тип проекта находится в разделе:
Другие типы проектов -> Установка и развертывание -> Установщик Visual Studio -> Проект установки
Но единственное, что у вас есть в Visual Studio 2012, - это «Включить InstallShield Limited Edition».
Почему его больше нет? И как мне его вернуть? Есть новый способ сделать это?
какой смысл надстройки Visual Studio, если нет возможности ее развернуть .Чтобы создать проекты установки в Visual Studio 2012 с помощью InstallShield Limited Edition, посмотрите это видео .
Ограниченная версия InstallShield, которая не может устанавливать службы.
"ISLE на сегодняшний день является худшим вариантом установщика, а обновленная версия с оплатой за чтение в лучшем случае неудобна в использовании и невозможна в большинстве ситуаций. InnoSetup, Nullsoft, Advanced, WiX или любой другой установщик лучше. Если вы Проведя опрос, вы увидите, что никто не использует ISLE. Я не знаю, почему вы, ребята, продолжаете ассоциироваться с InstallShield. Это подрывает ваше доверие. Любой разработчик, чей вес в два раза меньше, знает, что ISLE бесполезен, и когда вы стоите за этим, мы должны подвергнуть сомнению суждение Microsoft ».
Набор инструментов WiX , который, несмотря на свою мощь, крайне неудобен для пользователя и требует сложного обучения. Существует даже загружаемый шаблон для установки служб Windows (см. VS2012: Установщик служб Windows? ).
Согласно видео, удалось создать Setup.msi в VS 2012 , больше помощь .. ?? Привет @santhoshkumar! После завершения установки оконной формы MSI мои необработанные файлы (дизайн и кодирование) также отображаются в месте установки. Я разработал это приложение с помощью Visual Studio 2010. Установка создана успешно, но после установки MSI эта проблема возникает. Пожалуйста, помогите мне. Заранее спасибо.Полтора года назад было объявлено, что типы проектов были убиты. Альтернативы:
- Используйте решение VS2008 / 2010 для создания установщика
- Переключитесь на другой инструмент, например InstallShield или Windows Installer XML.
Вы пробовали метод «Опубликовать»? Просто щелкните правой кнопкой мыши файл проекта в проводнике решений и выберите «Опубликовать» во всплывающем меню. Это создает установщик за несколько очень простых шагов.
Вы можете выполнить дополнительную настройку установщика на вкладке «Опубликовать» в окне свойств проекта.
NB: этот метод работает только для приложений WPF и Windows Forms.
Я сделал то же самое в моем встроенном проекте, содержащем окна WPF и DLL VC ++. Мой клиент попросил меня включить в программу установки распространяемый пакет VC ++. Вы можете мне помочь? Потому что я прошел через весь мастер, но я не видел никакой возможности включить отдельный установщик в развертывание с помощью этого метода развертывания clickOnce. @grantnz Я наконец нашел вариант. Я нашел его во вкладке «Свойства Prjoect» -> «Опубликовать» -> «Предварительные требования». Надеюсь, ты тоже найдешь его.Microsoft прислушалась к призывам о поддержке установщиков (MSI) в Visual Studio и выпустила расширение Visual Studio Installer Projects . Теперь вы можете создавать установщики в Visual Studio 2013; скачать расширение здесь из visualstudiogallery.
Не расширение для VS 2012? Любой реальный образец приложения с полным исходным кодом + проект установки? Расширение для загруженных установочных проектов, создало простой msi-файл для быстрого размещения сторонней dll в GAC. Очень простой, легкий в использовании, делает основы.ISLE (InstallShield Limited Edition) является «заменой» проекта установки и развертывания Visual Studio, но многие пользователи считают, что Microsoft сделала неправильный шаг, удалив поддержку .vdproj из Visual Studio 2012 (и более поздних версий) и поддержав программное обеспечение сторонних компаний.
Многие люди просили вернуть его обратно ( вернуть базовый проект установки и развертывания, тип Visual Studio Installer ), но Microsoft глуха к нашим голосам . очень грустно.
Поскольку WiX действительно сложен, я думаю, что стоит попробовать несколько бесплатных систем установки - NSIS или Inno Setup . Обе версии содержат скрипты, и их легко изучить, но они мощны, как и оригинальный SADP.
Все установщики простые Next / Next / Next .
В Visual Studio выберите меню File -> New -> Project , выберите NSISProject или Inno Setup , и будет создан новый проект (с полными исходными кодами ).
Для начала — что такое WiX? Технология WiX (Windows Installer XML) представляет собой набор инструментов и спецификаций упрощающих процесс создания дистрибутивов на базе MSI (Microsoft Installer). Если объяснять проще то это обертка вокруг MSI с человеческим лицом.
На мой взгляд изучать проще всего на простых примерах. В данной статье я приведу пример простейшего инсталлятора.
Для начала поставим условия задачи — необходимо создать установочный дистрибутив, который будет содержать следующие диалоги:
Приветствие
Лицензионное соглашение
Выбор директории
Начало установки
Для создания дистрибутива нам понадобится сам WiX, последнюю версию которого всегда можно скачать на Source Forge. На данный момент последняя версия 3.5.0828.0.
Необходимо скачать и установить:
1. ProjectAggregator2.msi — нужен, для того, чтобы установить Votive (находится внутри дистрибутива номер 2). Который, в свою очередь, является дополнением для Visual Studio, облегчающим процесс работы с WiX (подсветка синтаксиса, IntelliSense).
2. Wix35.msi или Wix35_x64.msi (в зависимости от платформы)
3. Русский языковой файл
Итак, скачали, установили, запускаем Visual Studio. Меню File -> New Project, если все установлено правильно — появился новый раздел Windows Installer XML. Выбираем шаблон проекта Setup Project, вводим название проекта (я оставил как есть SetupProject1).
Проект будет состоять из одного файла Product.wxs с ним мы и будем работать. В моем случае файл выглядел следующим образом:
<? xml version ="1.0" encoding ="UTF-8" ? >
< Wix xmlns ="http://schemas.microsoft.com/wix/2006/wi" >
< Product Id ="b7bc7c6f-9a4e-4973-be84-eca8e3427c97" Name ="SetupProject1" Language ="1033" Version ="1.0.0.0" Manufacturer ="SetupProject1" UpgradeCode ="06a81104-1e30-463d-87e1-e8a79b4c682a" >
< Package InstallerVersion ="200" Compressed ="yes" />
< Media Id ="1" Cabinet ="media1.cab" EmbedCab ="yes" />
< Directory Id ="TARGETDIR" Name ="SourceDir" >
< Directory Id ="ProgramFilesFolder" >
< Directory Id ="INSTALLLOCATION" Name ="SetupProject1" >
<!-- TODO: Remove the comments around this Component element and the ComponentRef below in order to add resources to this installer. -->
<!-- <Component Guid="b11556a2-e066-4393-af5c-9c9210187eb2"> -->
<!-- TODO: Insert files, registry keys, and other resources here. -->
<!-- </Component> -->
</ Directory >
</ Directory >
</ Directory >
< Feature Id ="ProductFeature" Title ="SetupProject1" Level ="1" >
<!-- TODO: Remove the comments around this ComponentRef element and the Component above in order to add resources to this installer. -->
<!-- <ComponentRef /> -->
</ Feature >
</ Product >
</ Wix >
* This source code was highlighted with Source Code Highlighter .
Для начала настроим внешний вид и добавим поддержку русского языка.
Начнем с добавления русского языка. Для этого:
1. В ключе Product изменяем 1033 на 1049
2. В свойствах проекта (правой клавишей по названию проекта в Solution Explorer -> Properties), закладка Build, в поле Cultures to build вставляем ru-RU
3. Добавляем к проекту (правой клавишей по названию проекта в Solution Explorer -> Add -> Existing Item) файл WixUI_ru-ru.wxl (из архива WixUI_ru-ru.v3.zip)
В сгенерированном проекте нет ни одного диалогового окна. Существуют два варинта добавления диалоговых окон — создавать самостоятельно, либо воспользоваться готовым набором диалоговых окон.
Мы пойдем вторым путем, начинать знакомство лучше с простого. Для этого необходимо добавить ссылку на WixUIExtension.dll (правой клавишей по названию проекта в Solution Explorer -> Add Reference — открываем папку, в которую был установлен WiX, подкаталог bin)
Ссылку добавили, указываем какой набор мы будем использовать, в конце раздела Product добавим
< Property Id ="WIXUI_INSTALLDIR" Value ="INSTALLLOCATION" ></ Property >
< WixVariable Id ="WixUILicenseRtf" Overridable ="yes" Value ="License.rtf" />
< UIRef Id ="WixUI_InstallDir" />
* This source code was highlighted with Source Code Highlighter .
WixVariable — указывает на путь к файлу лицензии (речи о нем пока не шло, добавили сразу, чтобы два раза не ходить).
WixUI_InstallDir — готовый набор диалоговых окон. Данный набор включает все необходимые нам диалоги. Помимо него так же существуют наборы WixUI_Advanced, WixUI_Mondo, WixUI_FeatureTree, WixUI_InstallDir, WixUI_Minimal.
Приготовления закончены, можно приступать к редактированию файла установки. Для начала посмотрим, что нам нагенерила студия:
Ключ Product — описывает свойства продукта.
Id — идентификатор продукта, уникальный GUID.
Name — название продукта
Language — язык пакета установки
Version — версия продукта
Manufacturer — производитель
UpgradeCode — уникальный GUID
Чтобы упростить себе жизнь определим некоторые переменные. Для чего — название продукта, например, не раз может встречаться в скрипте, если нам захочется его изменить придется искать его по всему скрипту и менять на новое. Чтобы избежать этого определим переменную, которая будет содержать название продукта и, в случае необходимости, будем менять только ее. Над разделом Product добавим:
<? define ProductName ="SetupProject1" ? >
<? define ProductVersion ="1.0.0.0" ? >
<? define ProductCode ="b7bc7c6f-9a4e-4973-be84-eca8e3427c97" ? >
<? define UpgradeCode ="06a81104-1e30-463d-87e1-e8a79b4c682a" ? >
<? define Manufacturer ="MyCompany" ? >
* This source code was highlighted with Source Code Highlighter .
Теперь заменим значение параметров ключа Product на переменные:
< Product Id ="$(var.ProductCode)" Name ="$(var.ProductName)" Language ="1049" Version ="$(var.ProductVersion)" Manufacturer ="$(var.Manufacturer)" UpgradeCode ="$(var.UpgradeCode)" >
* This source code was highlighted with Source Code Highlighter .
Определимся теперь с тем куда мы будем устанавливать наш продукт.
Ключ Directory — определяет путь для установки.
Directory корневой элемент для всех папок, которые будут использоваться для установки проекта.
Directory папка Program Files (на что указывает
Directory папка с именем SetupProject1 в папке Program Files. Заменим сразу Name=«SetupProject1» на Name="$(var.ProductName)"
Добавим файлы в пакет установки. Для этого сначала добавим устанавливаемые компоненты. Следуя совету «Remove the comments around this Component» уберем комментарии с Component внутри целевой папки и добавим туда, например, калькулятор.
< Component Id ="ProductComponent" Guid ="b11556a2-e066-4393-af5c-9c9210187eb2" >
< File Id ='Calc' DiskId ='1' Source ='C:\WINDOWS\system32\calc.exe' />
</ Component >
* This source code was highlighted with Source Code Highlighter .
< Feature Id ="ProductFeature" Title ="$(var.ProductName)" Level ="1" >
< ComponentRef Id ="ProductComponent" />
</ Feature >
* This source code was highlighted with Source Code Highlighter .
Осталось добавить ярлык в меню Пуск.
Сначала укажем, что мы собираемся работать с папкой меню Пуск и хотим там создать папку с именем нашей программы, содержащую ярлык на калькулятор.
В раздел Directory где-нибудь в конце добавляем:
< Directory Id ="ProgramMenuFolder" >
< Directory Id ="ApplicationProgramsFolder" Name ="$(var.ProductName)" >
< Component Id ="ApplicationShortcutCalc" Guid ="4CEBD68F-E933-47f9-B02C-A4FC69FDB551" >
< Shortcut Id ="ShortcutCalc"
Name ="Calc"
Description ="$(var.ProductName)"
Target ="[INSTALLLOCATION]Calc.exe"
WorkingDirectory ="INSTALLLOCATION" />
< RemoveFolder Id ="ApplicationProgramsFolder" On ="uninstall" />
< RegistryValue Root ="HKCU" Key ="Software\$(var.Manufacturer)\$(var.ProductName)" Name ="installed" Type ="integer" Value ="1" KeyPath ="yes" />
</ Component >
</ Directory >
</ Directory >
* This source code was highlighted with Source Code Highlighter .
Начинаем разбираться:
Directory — указывает на директорию, в которой содержатся ярлыки меню Пуск.
Directory — папка нашей программы в меню Пуск
Component — компонент, содержащий ярлык (не забыть включить его в Feature)
Shortcut — собственно ярлык к калькулятору
Финальная версия файла должна выглядеть так:
< Wix xmlns ="http://schemas.microsoft.com/wix/2006/wi" >
<? define ProductName ="SetupProject1" ? >
<? define ProductVersion ="1.0.0.0" ? >
<? define ProductCode ="b7bc7c6f-9a4e-4973-be84-eca8e3427c97" ? >
<? define UpgradeCode ="06a81104-1e30-463d-87e1-e8a79b4c682a" ? >
<? define Manufacturer ="MyCompany" ? >
< Product Id ="$(var.ProductCode)" Name ="$(var.ProductName)" Language ="1049" Version ="$(var.ProductVersion)" Manufacturer ="$(var.Manufacturer)" UpgradeCode ="$(var.UpgradeCode)" >
< Package InstallerVersion ="200" Compressed ="yes" />
< Media Id ="1" Cabinet ="media1.cab" EmbedCab ="yes" />
< Directory Id ="TARGETDIR" Name ="SourceDir" >
< Directory Id ="ProgramFilesFolder" >
< Directory Id ="INSTALLLOCATION" Name ="$(var.ProductName)" >
< Component Id ="ProductComponent" Guid ="b11556a2-e066-4393-af5c-9c9210187eb2" >
< File Id ='Calc' DiskId ='1' Source ='C:\WINDOWS\system32\calc.exe' />
</ Component >
</ Directory >
</ Directory >
< Directory Id ="ProgramMenuFolder" >
< Directory Id ="ApplicationProgramsFolder" Name ="$(var.ProductName)" >
< Component Id ="ApplicationShortcutCalc" Guid ="4CEBD68F-E933-47f9-B02C-A4FC69FDB551" >
< Shortcut Id ="ShortcutCalc"
Name ="Calc"
Description ="$(var.ProductName)"
Target ="[INSTALLLOCATION]Calc.exe"
WorkingDirectory ="INSTALLLOCATION" />
< RemoveFolder Id ="ApplicationProgramsFolder" On ="uninstall" />
< RegistryValue Root ="HKCU" Key ="Software\$(var.Manufacturer)\$(var.ProductName)" Name ="installed" Type ="integer" Value ="1" KeyPath ="yes" />
</ Component >
</ Directory >
</ Directory >
</ Directory >
< Feature Id ="ProductFeature" Title ="SetupProject1" Level ="1" >
< ComponentRef Id ="ProductComponent" />
< ComponentRef Id ="ApplicationShortcutCalc" />
</ Feature >
< Property Id ="WIXUI_INSTALLDIR" Value ="INSTALLLOCATION" ></ Property >
< WixVariable Id ="WixUILicenseRtf" Overridable ="yes" Value ="License.rtf" />
< UIRef Id ="WixUI_InstallDir" />
* This source code was highlighted with Source Code Highlighter .
Для "тихой" установки приложения использую:
+ удалил диалоговые окна в интерфейсе установки.
Для запуска программы после установки создал Custom Action в папке Commit.
Проблема заключается в том, что при установке приложение запускается до закрытия самого установщика, тем самым последний зависает до тех пор пока не закроется окно приложения.
Как сделать так чтобы приложение запускалось после закрытия установщика?
__________________Помощь в написании контрольных, курсовых и дипломных работ здесь
Установщик службы и приложения
Добрый день! Сделал сервис. Но для него есть несколько параметров, которые нужно менять в.
Как создать установщик программы
Слышал что установочник можно стелать с помощью Setup Project, но ничего подобного со словом.
Доброго дня!
Пытаюсь разобраться с тем как создавать простые инсталляционные пакеты (setup.exe + msi) из своих программ. Прочитал в литературе то что создание таких проектов вырезано из VS начиная с версии 2013 и то что надо использовать InstallShield Limited Edition, full version of InstallShield или free WiX toolset.
WiX toolset что-то сторонее, для начала хотел познакомиться с InstallShield но что-то не нашёл его в NuGet-репозитории. Сам сижу в Visual Studio 2015 Community.
Зато нашёл и установил Microsoft Visual Studio 2015 Installer Projects.
То ли я скачал для начального ознакомления и обучения с процессом создания своих упаковщиков? "Microsoft Visual Studio 2015 Installer Projects" - это замена или ещё одна альтернатива InstallShield? С чего лучше начинать?
Если "Microsoft Visual Studio 2015 Installer Projects" тот самый подходящий вариант, не могли бы вы подсказать что делать дальше, в общих чертах. Вот у меня есть проект уровня HelloWorld из одного exe и одного dll. В Solution я добавил SetupProject и вот что получилось. На вложенной картинке.
А что делать дальше? Перетаскивать файлы проекта в папки? А всякие свои пути инсталляции, утановочне диалоги, ключи реестра, проверка окружения на соответсвие моим требованиям установки? Есть ли стартовый простой мануал?
Создание пакетов MSI для установки приложений с отчетами Crystal Reports, модули DLL для Crystal Reports, модули слияния (merge modules, файлы msm), Visual Studio Installer 1.1
Лабораторная 17 A .
1) установите из указанного преподавателем каталога приложение Visual Studio Installer 1.1;
2) создайте пакет Windows Installer Package, который бы устанавливал созданное вами на предыдущей лабораторной приложение со всеми необходимыми библиотеками на компьютер пользователя в каталог C:\Program Files\Customers_Formula. Запустите созданный вами пакет и убедитесь в его работоспособности.
Ответ к лабораторной 17 A .
1) После установки Visual Studio Installer 1.1 запустите его (из меню Start-> Programs\Microsoft Visual Studio 6.0\Microsoft Visual Studio 6.0 Enterprise Tools), выберите тип проекта Empty Installer, введите имя создаваемого пакета (например, Customers_Formula) и путь к нему (например, C:\Customers_Formula). Нажмите на кнопку Open.
2) В окне Visual Studio Installer Setup Wizard - Code Page примите значение, предлагаемое по умолчанию и нажмите на кнопку Finish.
3) В окне Project Explorer в контекстном меню для группы Files выберите Add->File и добавьте созданный вами на предыдущей лабораторной исполняемый файл (например, C:\Reports\Customers_Formula.exe)
4) В окне Project Explorer в контекстном меню для группы Files выберите Add->Merge Module и добавьте следующие файлы:
- из каталога C:\Program Files\Microsoft Visual Studio\Common\Tools\VSInst\BuildRes:
- Atl.msm
- Comcat.msm
- Comctl32.msm
- Mdac.msm
- Msvbvm60.msm
- Msvcp60.msm
- Msvcrt.msm
- License.msm
- Reportengine.msm
- Rdcruntime.msm
- Mapping.msm
5) В окне Project Explorer щелкните правой кнопкой мыши по узлу File System и в контекстном меню выберите Open. В окне Customers_Formula -- File System в контекстном меню раскройте узел User's Desktop, щелкните правой кнопкой по пустому пространству справа в поле Name и в контекстном меню выберите Create Shortcut. В открывшемся окне File выберите файл Customers_Formula.exe и нажмите на кнопку OK. Повторите ту же операцию для контейнера User's Start Menu.
6) В меню Build -> Build Configuration переставьте переключатель в положение Release. Затем в меню Build выполните команду Build.
Читайте также: