2008-08-23 9 views
8

Тяжелый акцент на простой. Я никогда не делал установщика, и мне бы не хотелось многому учиться. Система, в которой я мог бы передать кучу файлов, и это сделало бы некоторые разумные предположения о том, где их разместить, было бы идеально.Как создать простую систему установки для VB6 на XP/Vista и новее?

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

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

+0

Возможный дубликат [Что является лучшим выбором для установки установщиков Windows?] (Http://stackoverflow.com/questions/3767/what-is-the-best-choice-for-building-windows-installers) – saschabeaumont 2010-06-04 00:20:22

+0

@sascha Не дублируется, потому что установка программ VB6 немного отличается от установки.Чистые программы – MarkJ 2011-01-12 09:20:50

ответ

11

InnoSetup или NSIS, в зависимости от того, что вам больше не подходит. ISTool - удобный графический инструмент для InnoSetup, который упрощает создание сценариев установки.

+0

Я использую Inno (я не пробовал другой) и считаю его простым в использовании. Тем не менее, немного освещены документы. – BCS 2008-09-18 22:25:32

4

Dependency Walker очень полезно узнать, какая DLL отсутствует у установщика. После того как вы знаете DLL, вы можете найти, какой модуль слияния он использует, используя Merge Module Finder.

+0

Dependency Walker was/Действительно/удобно – BCS 2008-09-18 22:24:06

1

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

5

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

0

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

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

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

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

0

I для ЛЮБОВНИКИ Inno Setup. Акцент на «привыкший».

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

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

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

1

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

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

Другим фактором является то, что используемый реестр был изменен. Я не говорю о виртуализации реестра, хотя это тоже ее часть. Но регистрация COM может выполняться как для каждого компьютера, так и для каждого пользователя, и даже отключение UAC может отбросить это. См. Per-User COM Registrations and Elevated Processes with UAC on Windows Vista SP1. В результате пакет установки не должен запускаться regsvr32 (или иначе вызывать точку входа self-reg библиотеки COM). См. «Примечания» по адресу SelfReg Table.


установщика Windows является путь вперед в большинстве случаев. Программисты VB6 имеют версию Visual Studio Installer 6.0 версии 1.1, доступную как бесплатную загрузку для создания пакетов MSI. См. «COM-серверы» в статье VFP Using Microsoft Visual Studio Installer for Distributing Visual FoxPro 6.0 Applications для получения некоторой ценной информации.

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

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

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


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

См. Make My Manifest или альтернативные инструменты для бесплатной упаковки COM.

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

 Смежные вопросы

  • Нет связанных вопросов^_^