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