2010-03-19 7 views
6

응용 프로그램을 배포하기 위해 설치 프로그램을 만드는 데 사용할 수있는 패키지가 무엇인지 알고 싶습니다.java 응용 프로그램 용 설치자

대상 응용 프로그램은 Java로 작성됩니다.

  • 리눅스 (윈도우)를 컴파일 Windows 및 Linux에
  • 실행
  • 감지/처리 이전에 설치된 버전의 수 개미 스크립트를 통해 컴파일 :에 설치를 할 수 있어야합니다 응용 프로그램

우리는 현재 위의 것을 제외한 위의 모든 작업을 수행하기 때문에 IzPack을 사용합니다. 이전에 설치된 v를 쉽게 감지 할 수 없습니다. 소프트웨어의 포화, 그리고 이것은 우리를위한 거래 차단기입니다.

청구서에 맞는 다른 패키지가 있습니까?

감사합니다.

+0

는 "관련"사이드 바에서 적어도 세 중복 있습니다 귀하의 모든 요구 사항을 충족 BitRock InstallBuilder, 우리의 도구로 사용 해보세요. –

+3

@Paul Tomblin : 그들 중 누구도 내 질문의 핵심을 다루지 않는다는 것을 제외하고는, 이전에 설치된 버전의 응용 프로그램을 감지/처리합니다. 그 강조를 위해 편집 됨. – bguiz

+1

사실 저자는 원본 버전에서도 문제의 핵심을 분명히했습니다. 요약하자면 속임수처럼 보이지만 핵심 질문을 이해하는 것이 중요합니다. –

답변

5

izPack의 CheckedHelloPanel (온라인 설명서에 따르면)이 레지스트리에 다른 버전이 이미 설치되어 있는지 확인하고 두 번째 버전을 설치할지 묻는 메시지가 누락 될 수 있습니다.

OTOH ... 설치 프로그램이 이전 버전의 현재 위치 업그레이드를 수행 할 수 있어야한다는 것은 정말 어려운 문제이며 설치 시도자조차도 발견하지 못했습니다. 그것을 해결하십시오.

EDIT Windows가 아닌 플랫폼에서 근본적인 문제가 있습니다. 응용 프로그램을 비표준 장소에 설치할 수 있다면 이전에 설치된 사본 (동일하거나 다른 버전의 사본)을 100 % 신뢰한다고 말할 수 없습니다. 그리고 이것이 CheckedHelloPanel이 Windows에서 이전 버전 검색 만 지원하는 이유입니다.

izPack은 오픈 소스이므로 Linux에서 이전 버전을 감지하는 방법을 알아낼 수 있다면 CheckedHelloPanel을 수정하여 구현할 수 있습니다. 그리고 아마도 izPack 패치를 받아 들일 것입니다. 어쨌든, 당신이 그렇지 않으면 만족스럽지 못한 도구를 버리기 전에 먼저 그 접근법을 살펴볼 것을 권한다. (특히 리눅스에서 할 수있는 일은 리눅스에서 할 수 없다.)

+0

@Stephen C, 그러나이 기능은 Windows에서만 사용할 수 있으며 Windows에서 설치해야합니다. 'Windows에 Additonal 레지스트리가 제품이 이미 설치되어 있다고 판단하는 항목을 검색합니다 .' (http://izpack.org/documentation/panels.html#id4) – bguiz

+0

@Stephen C, 필요하지 않습니다. 즉석 업그레이드를 수행 할 수 있어야합니다. 첫 번째 버전이 아직 설치되지 않았지만 후속 버전은 설치된 이전 버전을 감지해야합니다. – bguiz

+0

+1 그리고 @Stephen을 확인하십시오. C : 연장 된'CheckedHelloPanel'이 실제로 잘 작동하지 않았다는 것을 제외하고는 귀하의 제안을 따랐습니다. H/w 비슷한 효과를 내기 위해'IzPanel'을 확장했습니다. 제안에 감사드립니다! – bguiz

0

InstallAnywhere는 모든 것을 할 수 있으며, ISMP (InstallShield Muli-Platform)는 Flexera가 여전히 판매하고 있지만 상용 소프트웨어 . 나는 그 모든 일을하는 무료 동등한 것을 모른다.

+1

우리는 직장에서 InstallAnywhere를 사용하기 때문에 권장하지 않습니다 *. – leedm777

+1

우리는 직장에서도이 도구를 사용하고 있습니다 ... 동료들은 경영진이 다른 도구로 이동하도록 설득하려고 노력하고 있습니다. 악몽과 매우 비생산적이어서 시간을 벌어서 구축하고 테스트해야합니다. 나는 다음 버전이 InstallShield와 함께 갈 것이라고 생각한다. – Persimmonium

+0

InstallAnywhere와 InstallShield Multi-Platform을 만든 회사는 제 3의 회사에서 구입했고, 제품 라인은 합병되었다. 결론은 ISMP가 더 이상 시장에 나와 있지 않다는 것입니다. 그들은 여전히 ​​Windows 기본 설치용 "InstallShield"제품을 판매하지만 멀티 플랫폼 용 제품은 판매하지 않습니다. –

2

install4j은 모든 요구 사항을 처리 할 수 ​​있습니다.

1

InstallJammer 시도해보십시오. 무료이며 오픈 소스이며 원하는 것을 정확히 수행해야합니다. 특히 이전 설치를 감지 할뿐만 아니라 여러 이전 버전을 감지하고 필요한 정보를 수집 할 수있는 정교한 기능을 실제로 갖추고 있습니다.

다운로드하여 시도해보고 질문이 있으시면 포럼에 들러서 물어보십시오. 나는 보통 모든 사람들에게 매우 빠르고 완벽하게 대답한다.0-]

+0

@Damon, 나는 설명서를 체크 아웃하고 이전 설치 확인 및 설치 추가 info'는'registry'와'install registry'를 참조합니다. 이것들이 윈도우 레지스트리의 일부분과 일치한다는 것은 조심 스럽다. 이 레지스트리는 실제로 어디에 있지 않습니까? – bguiz

+0

InstallJammer는 대상 시스템에 자체 "레지스트리"설치를 유지합니다. 이들은 디스크에 저장되며 Windows 시스템에서도 Windows 레지스트리에 저장되지 않습니다. 각 설치는 IJ 레지스트리에 몇 가지 기본 정보를 저장하며 이는 이전 설치를 확인하는 데 사용됩니다. 원한다면 설치 프로그램이 필요로하는 것을 저장하기 때문에 각 설치마다 자신의 정보를 저장할 수도 있습니다. 매우 유연한 시스템이기 때문에 원하는 정보를 얻을 수 있다고 생각합니다. – Damon

1