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

36

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

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

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

Должно ли это быть EXE? Большинство установщиков Windows теперь созданы как MSI (Microsoft Installer) .. =) Rob
Правильная версия установщика Windows является обязательным условием для MSI, но это должно быть в любой системе Windows (и если она отсутствует, большинство настроек завершится неудачей). Dirk Vollmar
Хмм ... Если это только копирование одного файла, и этот файл в любом случае является программой (скринсейверы scn просто переименованы в exe), почему бы не сделать так, чтобы одна программа имела три разных режима? "запустить без параметров" == скопировать в% systemroot%, отобразить диалоговое окно "спасибо за установку". запустить с параметром / s == экранной заставки. запустить с параметром / u == удалить (удалить из% systemroot%). Stobor
Да, да, это может быть и MSI, если установочные файлы MSI могут быть установлены на любых компьютерах с Windows без предварительных услови Mat
Если вы нашли решение, отправьте копию в Microsoft. Они еще не справились. jalf

Ваш Ответ

13   ответов
27

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

+ 1 для вас, NSIS кажется немного проще, чем WiX Raul Luna
+ 1, потому что позволяют создавать установщики из * nix (кросс-компиляция из Linux, 2.51 уже присутствует в Debian / нестабильных пакетах) Alex
+ 1, потому что вы единственный, кто действительно ссылается на NSIS. scvalex
Я нашел этот инструмент с графическим интерфейсом очень полезным для настройки моего скрипта установки Nsis.sourceforge.net / NSIS_Script_Editor Allan
Для чего-то такого простого NSIS - лучшая ставка. saschabeaumont
21

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

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

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

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

Нет, версии Express не поддерживают создание инсталляторов. Martin
Так что я попробовал Visual Studio и проект установщика, но созданный MSI хочет создать папку в папке Windows Program Files. Я не мог удалить это из установщика, так как он сказал мне, что это необходимая папка, и ее нельзя удалить :( Теперь я собираюсь попробовать NSIS ... Mat
оманда @WiX была рекомендована командой установщика Microsoft Windows - довольно хорошая рекомендация. Blogs.msdn.com / windows_installer_team / архив / 2006/05/12 / ... MarkJ
InnoSetup следует рекомендовать, прежде чем пытаться использовать WiX (или что-то еще). Это намного проще, практически не требует обучения, бесплатен даже для коммерческих приложений и не оставляет желать лучшег dominik andreas
очень полезно, спасибо Tornike Shavishvili
11

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

Для запуска Inno Setup лучше, потому что есть мастер для создания файла установки. Nathan Campos
Innosetup очень просто, просто скопируйте файл примера и добавьте имя вашего собственного исполняемого файла. Вам не нужны паскали, если вам не нужно что-то очень сложное Martin Beckett
Я много работал с NSIS, пробовал IExpress, глубже изучал WiX и теперь попробовал InnoSetup. Я должен сказать, что последний превосходит все другие решения в долгосрочной перспективе. dominik andreas
Я попробовал Innosetup, основываясь на этом ответе, и мне удалось найти установщика менее чем за час. Потребовалось еще один или два часа, чтобы понять, как запустить мою программу после установки, запустить ее при загрузке и скопировать файлы на основе символов подстановки. В целом, легко и гибко, я рекомендую. prewett
6

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

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

2

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

1

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

1

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

1

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

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

При использовании MSI Windows все равно кэширует его в% windir% \ installer, поэтому не создает никаких файлов в% programfiles% или где-либо еще, что, я думаю, соответствует духу пункта 5, если не точной формулировке =) Rob
это выглядело очень специфично "или не справлялся с деинсталлятором где-то" ... кэширование против копирования? Ape-inago
кэширование на самом деле хорошо, если эта папка chache все равно скрыта от пользователя Mat
1
IExpress

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

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

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

1

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

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

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

0

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

-4

Похожие вопросы