Estamos tentando distribuir um aplicativo usando WinRAR. No Windows 7, o aplicativo precisa ir para Program Files (x86)
; no XP ele precisa ser extraído para Program Files
. Existe uma maneira de fazer o WinRAR testar o sistema operacional, fazer essa distinção e extrair os arquivos para o local correto?
Responder1
Não, não é para isso que serve o WinRAR. Você pode usar um arquivo em lote para fazer isso, mas se estiver distribuindo um aplicativo, você deverá usar um instalador. Você pode encontrar umlista de instaladores comuns aqui. Você também pode tentar usar um pacote WinRAR SFX (você pode configurá-lo para extrair para Arquivos de Programas).
WinRAR é apenas um arquivador e depende da instalação do WinRAR no sistema de destino. Mesmo se você fosse automatizá-lo, você precisaria ter o WinRAR em um dos diretórios PATH do usuário ou garantir que ele esteja sempre instalado no mesmo local (existem variáveis de ambiente para arquivos de programas chamadas %PROGRAMFILES%
e %PROGRAMFILES(X86)%
).
Novamente, embora isso seja possível, énãouma boa ideia - isso depende do usuário final ter o WinRAR instalado em primeiro lugar. Considere usar um instalador como mencionei antes ou um pacote WinRAR SFX (embora não tenha certeza se você pode usar variáveis de ambiente).
Responder2
O WinRAR foi projetado para compactar/extrair arquivos, não para ser um programa de instalação de software. Use algo comoNSISouInnoSetup. Veja tambémessa questão.
Responder3
Acabei de olhar minha cópia do Winrar e não acho que seja possível fazer o Winrar verificar um sistema operacional e extrair com base nisso (eu tinha sérias dúvidas antes mesmo de olhar).
Você pode fazer isso em um arquivo em lote por conta própria ou usando algum outro programa que faça instaladores. Você estaria interessado nas variáveis %ProgramFiles%
ou %ProgramFiles(x86)%
. Usá-los o direcionaria para os arquivos de programa adequados que você deseja usar.
Responder4
Resumindo, não. Winrar não é um instalador e não foi feito para fazer esse tipo de coisa.