Мы пытаемся распространить приложение с помощью WinRAR. В Windows 7 приложение должно перейти в Program Files (x86)
; в XP его необходимо извлечь в Program Files
. Есть ли способ заставить WinRAR протестировать ОС, провести это различие и извлечь файлы в правильное место?
решение1
Нет, WinRAR не для этого. Для этого можно использовать пакетный файл, но если вы распространяете приложение, вам следует использовать установщик. Вы можете найтисписок распространенных установщиков здесь. Вы также можете попробовать использовать пакет WinRAR SFX (можно настроить его на извлечение в Program Files).
WinRAR — это просто архиватор, и он зависит от того, установлен ли WinRAR на целевой системе. Даже если бы вы автоматизировали это, вам нужно было бы либо иметь WinRAR в одном из каталогов PATH пользователя, либо убедиться, что он всегда установлен в одном и том же месте (есть переменные среды для Program Files, называемые %PROGRAMFILES%
и %PROGRAMFILES(X86)%
).
Опять же, хотя это возможно,нетхорошая идея - это зависит от того, установлен ли WinRAR у конечного пользователя в первую очередь. Рассмотрите возможность использования установщика, как я уже упоминал, или использования пакета WinRAR SFX (хотя я не уверен, можно ли использовать переменные окружения).
решение2
WinRAR предназначен для сжатия/извлечения файлов, а не для установки программного обеспечения. Используйте что-то вродеНСИСилиInnoSetup. Смотрите такжеэтот вопрос.
решение3
Я только что посмотрел на свою копию Winrar и не думаю, что Winrar сможет проверить наличие ОС и извлечь данные на ее основе (у меня были серьезные сомнения еще до того, как я это сделал).
Вы можете сделать это самостоятельно в пакетном файле или с помощью какой-либо другой программы, которая создает инсталляторы. Вас могут заинтересовать переменные %ProgramFiles%
или %ProgramFiles(x86)%
. Их использование направит его к нужным файлам программ, которые вы хотите использовать.
решение4
Короче говоря, нет. Winrar — это не установщик и не предназначен для подобных вещей.