Как создать надежный минимальный установщик для Windows?

Я хочу создать установщик EXE с некоторыми специфическими свойствами:

это должен быть один исполняемый файл он должен быть надежным (то есть известно, что техника хорошо работает в любой системе Windows)it должен создать только один файл (файл заставки .scn) в% systemroot%it должен добавить опцию удаления этого конкретного файла в «Панели управления -> Установка и удаление программ», но без создания новой записиC:\Program Files или куда-нибудь скопировать uninstaller.exe.

Я видел установщиков, которые так работают - как это сделать?

 Dirk Vollmar02 июл. 2009 г., 14:17
Правильная версия установщика Windows является обязательным условием для MSI, но это должно быть в любой системе Windows (и если она отсутствует, большинство настроек завершится неудачей).
 Stobor02 июл. 2009 г., 14:34
Хмм ... Если это только копирование одного файла, и этот файл в любом случае является программой (скринсейверы scn просто переименованы в exe), почему бы не сделать так, чтобы одна программа имела три разных режима? "запустить без параметров" == скопировать в% systemroot%, отобразить диалоговое окно "спасибо за установку". запустить с параметром / s == экранной заставки. запустить с параметром / u == удалить (удалить из% systemroot%).
 Mat02 июл. 2009 г., 14:15
Да, да, это может быть и MSI, если установочные файлы MSI могут быть установлены на любых компьютерах с Windows без предварительных услови
 Rob02 июл. 2009 г., 14:13
Должно ли это быть EXE? Большинство установщиков Windows теперь созданы как MSI (Microsoft Installer) .. =)
 jalf02 июл. 2009 г., 14:15
Если вы нашли решение, отправьте копию в Microsoft. Они еще не справились.

Ответы на вопрос(13)

InnoSetup, а на сайте написано, что он может создавать одиночные установки EXE.

 Martin Beckett06 сент. 2009 г., 03:17
Innosetup очень просто, просто скопируйте файл примера и добавьте имя вашего собственного исполняемого файла. Вам не нужны паскали, если вам не нужно что-то очень сложное
 Nathan Campos13 июл. 2009 г., 19:36
Для запуска Inno Setup лучше, потому что есть мастер для создания файла установки.
 dominik andreas31 мая 2017 г., 22:57
Я много работал с NSIS, пробовал IExpress, глубже изучал WiX и теперь попробовал InnoSetup. Я должен сказать, что последний превосходит все другие решения в долгосрочной перспективе.
 prewett07 июн. 2017 г., 23:40
Я попробовал Innosetup, основываясь на этом ответе, и мне удалось найти установщика менее чем за час. Потребовалось еще один или два часа, чтобы понять, как запустить мою программу после установки, запустить ее при загрузке и скопировать файлы на основе символов подстановки. В целом, легко и гибко, я рекомендую.

используя только Visual Studio 2017 Pro и Windows, в 3 этапа:

Чтобы иметь запись в «Установка и удаление программ», вам необходим проект установки. Проект установки может быть скомпилирован в 2 файла: * .msi и setup.exe Для создания самораспаковывающегося пакета вы можете использовать инструмент IExpress
 user822867729 июн. 2017 г., 03:59
Спасибо за ваш сердечный комментарий. Мне бы хотелось, чтобы в StackOverflow была возможность размещать обучающие видео, чтобы нам не пришлось размещать его на другой платформе.
 Believe201429 июн. 2017 г., 01:10
Просто то, что мне нужно. Благодарност
 Fabio Turati29 июн. 2017 г., 01:15
Я думаю, что этот ответ был бы еще лучше, если бы вы могли разместить здесь более подробную информацию, вместо того, чтобы ссылаться на это видео на Youtube. Видите ли, ссылки на внешние сайты всегда могут стать недействительными (Youtube не закроется, но они могут удалить видео, например), и без этого видео этот ответ не очень поможет. Так пожалуйстаредактироват это и добавить что-то еще. Кроме того, по сравнению с текстом, видео не очень удобны в использовании (вы не можете искать их содержимое, вы не можете распечатать их, для быстрого сканирования требуется пара минут вместо нескольких секунд ...). Спасибо

Advanced Installer, Я думаю, что он может сделать все, что ты просишь. Я использую его для немного более сложных инсталляторов, но бесплатная версия проста в использовании и мощна.

Могут быть проблемы с файлами MSI, на старых компьютерах отсутствует последняя версия Windows Installer 3.1, поэтому вам необходимо сначала установить ее или предложить пользователю! Вы смотрели на использование IExpress если вы просто хотите скопировать файл?

IExpress

од названием «Iexpress». Чтобы получить доступ к этому, откройте «Выполнить», что можно сделать, нажав одновременно клавиши Windows и R (WindowsKey + R). Когда вы попадаете в «Выполнить», введите маленькое поле «iexpress.exe». Затем нажмите Enter. Ты там

Заметки Доступно только в Microsoft Windows (Legit и NonLegit)

Объяснение:
Страница
- Создать файл директивы самоизвлечения.
Делает новый установочный файл
- Создать файл директивы самоизвлечения.
Редактирует.SED фай
Страница (Из файла «Создать директиву самоизвлечения».)
- Посмотри в «Описание» внизу
Страница 3
- Название пакета
Имя вашего установщика, как показано вверху
Страница 4
- Подтверждение запроса
Что нужно сказать пользователю перед установкой
Страница 5
- Лицензионное соглашени
Пропусти, если не знаешь, что это такое
Страница 6
- упакованные файлы
Какие файлы нужно установить
Страница 7
- Показать окно Как отображается окно
Страница 8
- отображается сверху Страница 9
- Имена и параметры пакета Где сохранить ваш файл - Скрыть файл Извлечение прогресса от пользователя Скрывает анимацию - Сохраняйте файл, используя длинное имя, внутри установщика Игнорируйте, если вы не знаете, что э Страница 10
- отображается сверху
Вы сделали
Нажмите на название, чтобы загрузить файл, не выполняя эти инструкции. Если это вирус, он заразился или вы думаете, что это вирус, не стесняйтесь удалять файл.

т связать полезную нагрузку внутри, подключить регистр с программами установки и удаления, как вы указали.

Решение Вопроса

это может быть MSI, я бы предложил пойти по этому пути.

Вы можете поиграть с проектами инсталляторов в Visual Studio (если они у вас есть; я не уверен, что редакции Express поддерживают создание инсталляторов), так как они с радостью выпустят MSI, который будет выполнять то, что вы просите. Стоит отметить, что они будут создавать EXE и MSI, вам нужно только распространять MSI.

Если это не так, взгляни на Windows Installer XML (WiX) поскольку это позволит вам вручную создать MSI, который будет делать именно то, что вы хотите, и будет обслуживать все пять ваших пунктов выше.

Примечание: использование MSI будет означать, что на компьютере, на который вы устанавливаете, должен быть установлен установщик Windows - он входит в комплект поставки Windows 2000 / ME и выше.

 dominik andreas31 мая 2017 г., 23:01
InnoSetup следует рекомендовать, прежде чем пытаться использовать WiX (или что-то еще). Это намного проще, практически не требует обучения, бесплатен даже для коммерческих приложений и не оставляет желать лучшег
 Mat02 июл. 2009 г., 14:45
Так что я попробовал Visual Studio и проект установщика, но созданный MSI хочет создать папку в папке Windows Program Files. Я не мог удалить это из установщика, так как он сказал мне, что это необходимая папка, и ее нельзя удалить :( Теперь я собираюсь попробовать NSIS ...
 MarkJ19 окт. 2009 г., 17:49
оманда @WiX была рекомендована командой установщика Microsoft Windows - довольно хорошая рекомендация. Blogs.msdn.com / windows_installer_team / архив / 2006/05/12 / ...
 Martin02 июл. 2009 г., 14:29
Нет, версии Express не поддерживают создание инсталляторов.
 Tornike Shavishvili04 окт. 2017 г., 13:55
очень полезно, спасибо

NSIS а также Inno Setup справится со всеми заданными задачами. Inno Setup использует Pascal-подобный язык для своих сценариев, NSIS использует свой собственный язык сценариев.

становщиком, вам, вероятно, следует держаться подальше от NSIS. Видетьhttp: //unattended.sourceforge.net/installers.ph для обзора.

который очень прост в освоении, просто напишите простой файл, указывающий, какие файлы вы хотите установить куда. Вы также можете добавить опции QuickLaunch и так далее. Затем запустите компилятор NSIS, и вы получите exe.

не копирует установщик куда-нибудь а также добавление записи в Добавить / Удалить кажется противодействующим. Насколько я понимаю, программы удаления и удаления обязательно ссылаются на копию деинсталлятора, которая находится в каталоге Windows (чтобы он не терял к ней доступ).

Возможно, вы можете использовать экранную заставку в качестве деинсталлятора, если передадите ей какую-то опцию командной строки. Затем просто сообщите MSI, что деинсталлятор является хранителем экрана (следовательно, нет необходимости копировать в какой-либо другой каталог.)

 Ape-inago02 июл. 2009 г., 15:02
это выглядело очень специфично "или не справлялся с деинсталлятором где-то" ... кэширование против копирования?
 Mat02 июл. 2009 г., 15:11
кэширование на самом деле хорошо, если эта папка chache все равно скрыта от пользователя
 Rob02 июл. 2009 г., 14:27
При использовании MSI Windows все равно кэширует его в% windir% \ installer, поэтому не создает никаких файлов в% programfiles% или где-либо еще, что, я думаю, соответствует духу пункта 5, если не точной формулировке =)

NSIS это довольно просто и используется для создания установщиков для Windows.

 Alex22 нояб. 2016 г., 13:30
+ 1, потому что позволяют создавать установщики из * nix (кросс-компиляция из Linux, 2.51 уже присутствует в Debian / нестабильных пакетах)
 scvalex02 июл. 2009 г., 14:32
+ 1, потому что вы единственный, кто действительно ссылается на NSIS.
 Allan02 июл. 2009 г., 14:37
Я нашел этот инструмент с графическим интерфейсом очень полезным для настройки моего скрипта установки Nsis.sourceforge.net / NSIS_Script_Editor
 Raul Luna17 окт. 2013 г., 09:18
+ 1 для вас, NSIS кажется немного проще, чем WiX
 saschabeaumont03 июл. 2009 г., 00:32
Для чего-то такого простого NSIS - лучшая ставка.

NSIS довольно маленький и компактный.

Ваш ответ на вопрос