Вопрос

Из-за ряда ограничений, в которые я не буду вдаваться, мне необходимо создать самораспаковывающийся ZIP-архив на Linux-сервере.Полученный архив должен быть исполняемым только в Windows.Это вообще возможно?Если да, то какие инструменты справятся с этой задачей?

Фон:когда пользователь загружает установочный пакет из моего Linux-компьютера, мне нужно, чтобы этот установочный пакет был предварительно заполнен определенным ключом.Я знаю этот ключ только во время выполнения;Моя идея заключалась в том, чтобы написать простой XML-файл с этим ключом, затем заархивировать установщик .msi с этим XML-файлом в самораспаковывающийся архив и отправить этот файл в браузер.Если у вас есть альтернативные идеи о том, как это осуществить, я тоже буду рад их услышать.

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

Решение

Ваш ответ можно найти на следующей странице: http://ubuntuforums.org/showthread.php?t=847329 Обратите внимание, что я не беру на себя ответственность ни за что, кроме использования Google и поиска чего-то, что логически звучит так, будто это работает.Я не гарантирую, что эта информация сработает или что вы сможете больше найти упомянутые материалы в Интернете.Я просто фанат Google.Надеюсь, это поможет.

Проблема Пару дней назад мне пришлось создать Win32 совместимый самораспаковывающийся ZIP-файл для друга.Звучит просто, да.Проблема была что у меня не было машины Windows Meme it рядом, и я не хотел устанавливать Meme it любые программы архивирования под Wine.

ПРИМЕЧАНИЕ:Бесплатная программа ZIP, такая как IZArc под Wine можно использовать для создания Win32 самораспаковывающийся ZIP файл.Это не будет охватываться этим хауто, извините.

"Исследования" Гуглил вокруг, что я нашел этот пост на форуме от августа 2003 года.Читая его, я узнал, что самораспаковывающиеся ZIP-файлы ничто больше, чем подходящий распаковать двоичный файл за которым следует обычный ZIP-файл.Я использовал unzipsfx.exe включен в Info-ZIP Скачать UnZip 5.52.

Ссылка на этот пост работала несколько дней назад, так что я получил мои руки на Meme it unzipsfx.exe, который я искал.Сегодня, 2 июля 2008 Я нашел ссылку мертва.После того, как я погуглил, я не найти рабочую ссылку в любом месте.Я читаю лицензию несколько раз и понял что я могу перераспределить оригинал Meme it unzipsfx.exe с включенной лицензией.

Обратите внимание, что unzipsfx-552_win32.tar.gz (80 кБ) не официальный пакет Info-ZIP и включает в себя защищенное авторским правом программное обеспечение, Я не беру на себя никаких заслуг.Больше информации в Info-ZIP лицензия, которая также включена в тарболе.Исходный код для включенные двоичные файлы можно найти здесь.

Решение

Шаг первый, получение пакета unzipsfx.exe и Zip:* Откройте терминал (в Ubuntu нажмите Alt+F2 и введите гном-концевой) * Введите в следующих командах код:

wget http://kolmoskone.homelinux.org/~kaja/kamaa/unzipsfx-552_win32.tar.gztar zxf unzipsfx-552_win32.tar.gz sudo apt-get установить zip Zip

Шаг второй, создание ZIP-файла в Ubuntu:* откройте файловый менеджер (nautilus) и выберите файлы, которые вы хотите иметь zipped * щелкните правой кнопкой мыши и выберите Создать архив (или аналогичный).Выбрать расположение ZIP-файла, используя ваш домашний каталог самый простой.Выбрать тип.zip.См. man zip для информации о том, как создать ZIP-файл в команде линия.

Шаг третий, сделав файл ZIP самостоятельно экспрессирующим * введите в следующем коде команд:

cat unzipsfx -552_win32/unzipsfx.exe myzipfile.zip> mysfxfile.exe zip -a mysfxfile.exe

mysfxfile.exe теперь можно открыть в любом Win32 совместимая система (в том числе для например Windows XP/2000/Vista и даже Wine в Linux) или ЛЮБОЙ ZIP СОВМЕСТИМЫЙ архивировать программу, такую как file-roller в Убунту.

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

Я смог сделать эту работу с помощью unzipsfx. Доступна более новая версия - только что вышла в апреле 2009 года - версия 6.0. Версия 5.52 не поддерживала необходимую мне критическую функциональность - запуск определенного установочного файла после завершения извлечения.

Итак, я скачал исходные файлы для 6.0. Затем я изменил их, чтобы исключить запрос на запуск материала. проверьте, что там по умолчанию. Я перекомпилировал с использованием Visual Studio 2008, попробовал шаги, описанные в учебном руководстве выше, и теперь все работает как чудо.

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