2011-08-10 9 views
29

난 당신이 설치 프로그램을 만드는 데 사용할 수있는 설치 도구의 무리가 창에 알고 있지만, 맥 OS에 I 앱 설치하는 방법은 두 가지 본 적이 :Mac OS 응용 프로그램을 패키지로 설치하려면 어떻게합니까?

  1. 당신이 다운로드합니다 DMG 파일을 두 번 (응용 프로그램 폴더를 나타내는) 다른 아이콘으로 아이콘을 드래그하여 응용 프로그램을 설치하십시오.

  2. 분명히 표준 설치 프로그램을 시작하는 또 다른 유형의 파일로, 때로는 "이 설치 프로그램은 설치를 계속할 수 있는지 결정하기 위해 프로그램을 실행할 수 있습니다"와 같은 경고 메시지가 표시됩니다.

Mac OS에서 설치할 응용 프로그램을 패키징하는 "표준"방법은 무엇입니까? 위 권장 사항 중 하나가 Apple 권장 방식입니까?

감사합니다.

+1

신인 질문,하지만 우리는 대신 DMG는 파일을 생성하는, 그 자체에 .APP 파일을 배포하고 사용자가 응용 프로그램 폴더에 복사 할 수 없습니다 그 이유는 무엇입니까? –

+2

.app는 파일이 아니기 때문에. 사용자에게 "파일"처럼 보일 뿐이지 만 실제로는 "번들"입니다. 특별히 구조화 된 디렉토리로, 사용자가 파일을 볼 수 있도록 표시되어 있습니다."번들"은 매우 "맥"이며 전자 메일 또는 다운로드를 통해 잘 여행하지 않으며 특히 Windows 형식의 디스크가 아닙니다. 하지만 DMG (디스크 이미지) 파일은 디스크의 "스트림 스트림"에 불과하므로 쉽게 전송할 수 있습니다. –

+1

@MottiShneor,이 .zip 파일은 무엇입니까? ;) –

답변

13

애플은 "표준"이 앱 스토어에서 프로그램을 다운로드하는 것을 분명히하고있다. 이것은 응용 프로그램 설치를 일반 사용자에게 투명하게 만드는 이점이 있습니다. 그리고 믿거 나 말거나, 정상적인 사람들은 프로그램 설치의 개념에 많은 어려움을 겪습니다. 물론 그 혜택에는 약간의 비용이 듭니다. 그러나 이것은 그 토론을위한 장소가 아닙니다. 그곳에는 다른 곳이 많이 있습니다.

App Store 경로를 원하지 않거나 갈 수 없다고 가정 할 때 PKG와 DMG는 모두 프로그램을 배포하는 일반적인 방법입니다. 응용 프로그램 번들 옆에 파일을 설치해야하는 경우 PKG를 사용하십시오 (일반적인 유스 케이스는 아니어야 함). 다른 모든 경우에는 사용자에게 응용 프로그램 폴더로 응용 프로그램을 복사하라는 메시지를 표시하는 DMG를 사용하십시오. 그러나 많은 사용자들이 (대상 사용자가 지식이있는 컴퓨터 사용자 만 제외하고) 필요하다고 이해하지 못합니다. 그들은 디스크 이미지에서 응용 프로그램을 실행합니다. 이상적으로이 경우 프로그램은 디스크 이미지에서 실행 중임을 감지하고 응용 프로그램 폴더에 자신을 복사 할 것을 제안합니다.

+2

Apple이하는 일은 일관성있게 만드는 것입니다. 이는 최종 사용자에게 매우 좋습니다. –

+0

좋은 답변입니다. 3 가지 주요 방법에 대한 소개 링크가 제공됩니다. https://developer.apple.com/osx/distribution/ –

+0

으로 시작하십시오. 프로그램에서 DMG에서 실행되는 것을 어떻게 알 수 있습니까? (어떤 코코아/다른 API를 사용할 것인가?) 또한 프로그램이 어떻게 자신을 Applications 폴더에 복사 할 수 있습니까? 이것은 인증/승인을 요구합니다. 그렇지 않습니까? 이 기술에 대한 샘플 코드가 있습니까? –

3

OS X에서는 많은 응용 프로그램이 사용자가 /Application 폴더 (또는 다른 위치)에 복사해야하는 재배치 응용 프로그램 번들로 만들어집니다. 다른 경우에는 사용자가 사용자를 추가하거나 권한을 변경하는 등 시스템을 통해 일부 작업을 수행해야 할 때 을 사용하면 이 사전 및 사후 설치 스크립트를 실행할 수있는 PKG 설치 프로그램 (예 : PackageMaker을 사용하여 빌드 됨)을 사용할 수 있습니다. 설치 드라이브 선택과 같은 몇 가지 기본 설치 구성을 지원하십시오. 예 에 다운로드 요구 사항에 MySQL의 포트와 암호 또는 프록시 정보처럼 응용 프로그램을 설치하는 데 필요한 최종 사용자가 요청하는 정보를, 사용자 정의 페이지를 보여주기 위해

때때로 복잡한 서버 소프트웨어와 함께, 당신은 더 많은 유연성을 필요로 비행 중에 (또는 간단하게 더 호기심 많게 보이게하려면 :)). 이 경우 우리의 BitRock InstallBuilder과 같은 다른 설치 솔루션이 있습니다 (면책 조항, 개발자 중 한 명입니다). InstallBuilder는 플랫폼별로 매우 작은 사용자 정의로 동일한 프로젝트를 사용하여 멀티 플랫폼 설치 프로그램을 생성 할 수있는 이점이 있습니다.

7

우리는 두 가지를 논의하고 있습니다 :

  • 첫 번째이자 가장 중요한 것은 실행의 비트에 접근하고 적절하게 시스템에 의해 등록의 방법으로 디스크에 꼬실하는 표준 방법
  • 초의 .APP을 준비하기위한 메커니즘, 애플에서 권장하는

Apple's site에 이전의 마케팅 페이지가 Packag와 패키지를 (그래서 Installer 응용 프로그램이 자리에 비트를 이동할 수 있습니다)을 작성하는 것이 좋습니다 말한다 eMaker 응용 프로그램. 사용법은 여기에서 설명합니다 : mactech.com/articles/mactech/Vol.25/25.03/2503MacEnterprise- 시스템 관리자/색인 .html.

다른 사람들이 언급했듯이, 방안의 코끼리는 MacAppStore (MAS for short)입니다. 데뷔 할 때까지 대기업의 표준은 구형의 '번들'패키지에 포함 된 사용자 지정 스크립트 또는 VISE 설치 프로그램과 같은 실행 파일을 사용하는 것이 었습니다. 소규모 개발자는 일반적으로 응용 프로그램을 드래그 드롭을 통해 설치할 수있게 만들려고했으나 zip 아카이브 또는 디스크 이미지 (간단히하기 위해)로 배포되었습니다. MAS가 다릅니다 : 10.7에서 플랫 패키지 (실제로는 xar 아카이브, 설명 here) 으로 알려진 패키지 형식 (10.5에 데뷔)이 http를 통해 숨겨진 폴더로 전송되고 응용 프로그램에 직접 설치됩니다 (그 후에 다운로드 된 임시 폴더가 삭제됩니다). 영수증과 청구서 또는 자료 파일을/private/var/db에 저장하므로 여기에 설명 된 내장 명령 행 pkgutil 도구로 감사 할 수 있습니다 : mactech.com/articles/mactech/Vol.25/25.12 /2512MacEnterprise-PackagesReceiptsandSnow/index.html

평탄한 패키지 형식을 사용하면 네트워크를 통해보다 안전하고 효율적으로 물건을 가져올 수 있다는 이점이 있지만 테스트를 진행하는 경우에는 번들 패키지로 사용하기가 쉽지 않습니다 패키지를 정기적으로 수정하거나 작업 또는 검사를 수행하는 스크립트가 제대로 작동하도록 반복합니다. 편평한 경우에도 유연성을 위해 아카이브 또는 디스크 이미지에 패키지를 넣는 것이 좋습니다. 더 많은 배포 도구는 우편보다 DMG를 예상하므로 그 점도 있습니다.

Apple이 권장하는 것 외에 무엇이 표준이며 일반적인 관행인지는 물론이 문서가 있습니다 : https://www.afp548.com/2010/06/03/the-commandments-of-packaging-in-os-x/ 넓은 배포를위한 이유와 이유 (주로 시스템 관리자 용 임)를 설명합니다. 왜 잘못되고 왜, 어떻게, 왜 피하는 지에 대한 느낌을 더 많이 얻는 것이 좋습니다.

+3

packagemaker는 오랫동안 사용되지 않습니다. pkgbuild 명령 줄 도구를 사용하여 패키지를 만들어야합니다. –

6

시도 Iceberg! 또 하나의 패키지 작성자입니다.

12

패키지이 잘 작동합니다. 배포 프로세스를 단순하게 유지해야한다면 훌륭합니다.

Quick build.appPackage으로 드래그하여 구성됩니다.

고급 포장의 경우 인증서를 제공 할 수도 있습니다.

http://s.sudre.free.fr/Software/Packages/about.html

관련 문제