Как создать простую систему установки для VB6 на XP / Vista и новее?[закрыто]

StackOverflow https://stackoverflow.com/questions/23836

  •  09-06-2019
  •  | 
  •  

Вопрос

Сильный акцент на простоте.Я никогда не создавал установщик, и мне бы не хотелось многому учиться.Идеальной была бы система, которой я мог бы передать кучу файлов, и она сделала бы несколько разумных предположений о том, куда их поместить.

Продолжайте и ответьте на общий вопрос.

Однако В моих случаях я сталкиваюсь с некоторыми дополнительными ограничениями.Устанавливаемая программа написана на VB6 (или это 5?) и нескольких предыдущих версиях VB, так что это нет будет обновлено в ближайшее время.У меня запущенная установка, и у меня будет чистая виртуальная машина для игры, поэтому я буду выполнять цикл:запустите программу установки, найдите, где она сломана, исправьте это, добавьте это в программу установки, верните виртуальную машину, повторите попытку.Если у кого-то есть подход получше, я открыт для предложений.

Я ДОЛЖЕН заставьте это работать на XP, и я бы очень хотел, чтобы у меня также было что-то, что будет работать и на более новых версиях Windows.

Это было полезно?

Решение

Инновационная настройка или НСИ, в зависимости от того, что вам покажется проще. ISTool ( Инструмент ) это хороший графический инструмент для InnoSetup, который делает создание сценариев настройки еще проще.

Другие советы

Я пользовался InnoSetup несколько лет назад, еще до появления Vista, и тогда был очень доволен им.У меня было всего несколько файлов для установки и значок меню "Пуск".Это отлично работало, и было легко освоить.

Ходок зависимости это очень полезно для выяснения, какая библиотека dll отсутствует в программе установки.Как только вы познакомитесь с библиотекой dll, вы сможете найти, в каком модуле слияния она находится, используя Поиск модуля слияния.

Я работал с NSIS, и, преодолев некоторые из ее незначительных сложностей, это фантастическая система.он бесплатный, предлагает массу возможностей для плагинов и сумел сделать все, что мне было нужно.

Создание полного установочного пакета для программы само по себе является практически предметной областью.Необходимо учитывать множество факторов, и большинство из нас больше не используют Windows 95.Мир не так прост, как был когда-то.

Есть много вещей, которые необходимо решить, и некоторые из этих проблем с "настройкой" также означают изменение программы.Например, концепция "защищенных папок", которая казалась людям новой, когда на сцене появилась Vista UAC.Я предполагаю, что все они работали от имени администратора или что-то в этом роде?В своей простейшей форме это означает, что вы больше не помещаете доступные для записи файлы рядом с EXE-файлом в Programs (он же "Program Files").

Другим фактором является то, что изменился способ использования реестра.Я не говорю о виртуализации реестра, хотя это тоже ее часть.Но регистрация COM может быть выполнена как для каждой машины, так и для каждого пользователя, и даже отключение UAC может испортить ситуацию.Видишь Регистрация COM для каждого пользователя и процессы с повышенными правами доступа с помощью UAC в Windows Vista SP1.Результатом является то, что пакет установки не должен запускать regsvr32 (или иным образом вызывать точку входа саморегуляции библиотеки COM).Смотрите раздел "Примечания" по адресу Таблица саморегуляции.


Установщик Windows - это тот самый способ продвижения вперед в большинстве случаев.Программистам VB6 доступен бесплатный установщик Visual Studio 6.0 версии 1.1 для создания пакетов MSI.Смотрите "COM-серверы" в статье VFP Использование установщика Microsoft Visual Studio для распространения приложений Visual FoxPro 6.0 за ценную информацию.

Это не самый простой вариант, но в VSI 1.1 есть мастер настройки VB, который поможет разобраться с основами.Выполнение сложных действий, таких как создание вложенной папки [CommonAppData] и настройка прав всех пользователей на нее, должно выполняться на этапе после сборки за пределами IDE.Вот где сторонние инструменты могут быть полезны, чтобы предоставить вам больше контроля, не прибегая к Orca или сценариям установки после сборки.

Те ребята, которые создают скриптовые "устаревшие" установщики, стараются не отставать, но скрипты становятся все более и более сложными.Результаты иногда бывают сомнительными.В Windows 7 появилось несколько собственных нововведений.

Хотя ClickOnce на самом деле не лучший вариант для VB6, ничто не говорит о том, что вы не можете использовать COM без регистрации для установки XCopy многих программ.Если уж на то пошло, COM без регистрации может быть даже хорошим вариантом для использования в установочном пакете.


Таким образом, в конце концов, "самым простым" способом развертывания программ VB6, вероятно, будут пакеты COM XCopy без регистрации, завернутые в самораспаковывающийся EXE-файл, который запустит скрипт для создания ярлыка меню "Пуск".Если вы можете жить без ярлыка, это будет еще проще:просто распакуйте пакет туда, куда он должен быть отправлен!

Видишь Сделай Мой Манифест или альтернативные инструменты для упаковки COM без регистрации.

Для этого требуется, чтобы целевые системы работали под управлением XP (предпочтительно SP2) или более поздней версии.Единственная возможная ошибка здесь заключается в том, что XP не включала среды выполнения VB6 SP6 до XP SP3, поэтому вы захотите сначала протестировать свою программу в среде выполнения VB6 SP5.Что ж, еще один сбой:вы не можете использовать EXES ActiveX таким образом, они по-прежнему требуют регистрации.

Мой совет таков.Постарайтесь сделать программу установки как можно более простой.Установщик Windows - это очень сложная часть программного обеспечения, и когда что-то работает неправильно, бывает трудно понять, что происходит.Я уверен, что все мы сталкивались с бесконечным циклом установки Windows, пытающейся восстановить файл, для которого у вас больше нет исходного файла .msi.

Большую часть времени использование установщика Windows похоже на использование кувалды для раскалывания ореха.

Я использую InnoSetup для своих собственных целей и InstallShield на работе (против своей воли).Начните с простого установщика на основе скрипта и используйте установщик Windows только в том случае, если у вас есть на то веские причины.

Обратите внимание, что поддержка установки сборок в GAC может отсутствовать для некоторых инструментов установки, отличных от Windows Installer (таких как InnoSetup).

Я использованный любить Inno Setup.Акцент на "привык".

Когда вы запускаете программу установки с одним файлом (что вы обычно делаете), она распаковывает реальную программу установки в папку под папкой temp, а затем пытается выполнить ее.Проблема в том, что...некоторые антивирусные программы этого не допускают.

Автор осознает это и отказывается что-либо предпринимать по этому поводу.Имя папки является случайным, поэтому не может быть добавлено ни в один список исключений, который может использовать ваша антивирусная программа.

Снова.Автор знает об этом и предлагает мне посоветовать своим пользователям отключать свои антивирусные программы во время установки.(Как будто это должно было случиться)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top