Может ли самораспаковывающийся Zip-файл прочитать запись реестра? - PullRequest
0 голосов
/ 26 апреля 2011

Я пытаюсь заставить свой веб-сайт общаться с программой друга.Подумайте ITunes - одна основная программа с сотнями тысяч мелочей, установленных в нем.Мы не хотим создавать программу установки InstallShield для каждой из этих сотен тысяч мелочей.

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

Но есть ли способ сделать самораспаковывающийся zip-файл, который читает запись реестра, чтобы мы знали, где они установленыоригинальная программа, чтобы иметь возможность создавать новые файлы там же?Я хочу, чтобы они дважды щелкнули по EXE и нажали «Готово», и все заработало.

(Я искал файлы INF и CAB через IExpress.exe, но не нашел ответа. Я помню,Пакет для Интернета не имел возможности прочитать запись в реестре, но позволил вам изменить предложенный путь установки.)

Большое спасибо.

С наилучшими пожеланиями, Андреа

Ответы [ 2 ]

0 голосов
/ 27 апреля 2011

Но есть ли способ сделать самораспаковывающийся zip-файл, который читает запись реестра, чтобы мы знали, где они установили исходную программу, чтобы иметь возможность также выгружать туда новые файлы? Я хочу, чтобы они дважды щелкнули по EXE и нажали «Готово», чтобы все работало

Ну да и нет. Есть самораспаковщики, которые могут запустить программу после распаковки всех файлов. DotNetZip, например, может производить SFX, который может это сделать.

Просто в стороне: обычный SFX - это просто zip-файл, в который добавлен исполняемый файл-заглушка. Заготовка exe может делать все, что захочет, но самое основное, что она делает, - это извлечение файлов в zip-архиве. Когда вы используете DotNetZip для создания SFX, он встраивает свою особую заглушку в zip. Эта заглушка знает, как извлечь файлы, а также знает, как вызвать программу после распаковки. Вы также можете создать свою собственную заглушку, которая может делать более экзотические вещи.

Таким образом, вы могли бы использовать SFX для своих целей. При запуске он извлекает, а затем вызывает дополнительную программу. Программа может посмотреть в реестре, а затем переместить или переместить извлеченные файлы в соответствующее место. Затем прекратить.

Для другого поворота SFX может иметь только два файла: запускаемую программу (тот, который читает реестр, и другой встроенный zip-файл. Затем, когда SFX запускается, он генерирует 2 файла. Затем он вызывает программу -to-run, который читает реестр, затем распаковывает содержащийся zip и помещает файлы в нужное место.

Хорошо, значит, вы могли бы сделать это.

Должны ли вы?

ммм, может быть. На самом деле является установщиком, поэтому вы должны решить, хотите ли вы использовать zip в качестве установщика. Не забывайте, что если вы используете SFX в качестве установщика, нет хорошего способа удалить его.

0 голосов
/ 26 апреля 2011

Вы пробовали Inno Setup набор инструментов?Это немного лучше, чем самораспаковывающийся ZIP-файл, это утилита для создания настроек.Я убежден, что у него есть что-то, чтобы поместить какую-то запись в реестр, посмотрите также на плагины.

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

Сайт: http://www.jrsoftware.org/isinfo.php

...