Mac OS X 용 멋진 dmg "설치 프로그램"만들기


83

Mac OS X 용 Qt 응용 프로그램을 처음 만들었습니다. 이제 사용자가 쉽게 설치할 수있는 멋진 .dmg 파일을 만들고 싶습니다. 나는 firefox와 같은 것에 대해 생각하고 있습니다 (그림 참조). 여기에 이미지 설명 입력

나는 이것에 완전히 새롭기 때문에 어디서부터 시작 해야할지조차 모릅니다.


2
어쩌면 이것은 당신이 도움이 될 수 있습니다 stackoverflow.com/questions/96882/...
로저 Lindsjö에게

자동화 할 필요는 없습니다. 시작하기 더 쉬운 것을 선호합니다.)
xx77aBs

3
이것은 유용 할 수 있습니다 : el-tramo.be/guides/fancy-dmg
Mike K

@MikeK는 :) 당신은 내가 찾던 그냥 뭐, 내가 그것을 받아 들일 것, 대답은이를 게시해야
xx77aBs

이 튜토리얼을 확인할 수 있습니다 . iDMG (무료 소프트웨어), Finder 및 터미널을 사용해서 만 아름다운 DMG를 만드는 방법을 단계별로 보여줍니다. 아주 쉽습니다.
Igor Augusto 2012 년

답변:


91

이 답변을 제공하여이 질문을 최신 상태로 만드십시오.

appdmg간단한 json 사양에서 dmg 파일을 생성하는 간단하고 사용하기 쉬운 오픈 소스 명령 줄 프로그램입니다. 공식 웹 사이트에서 readme를 살펴보십시오.

https://github.com/LinusU/node-appdmg

빠른 예 :

  1. appdmg 설치

    npm install -g appdmg
    
  2. json 파일 ( spec.json) 작성

    {
      "title": "Test Title",
      "background": "background.png",
      "icon-size": 80,
      "contents": [
        { "x": 192, "y": 344, "type": "file", "path": "TestApp.app" },
        { "x": 448, "y": 344, "type": "link", "path": "/Applications" }
      ]
    }
    
  3. 프로그램 실행

    appdmg spec.json test.dmg
    

(면책 조항. 저는 appdmg의 제작자입니다)


다른 솔루션에 비해 이것은 놀랍도록 간단합니다.
Aeolun 2014 년

1
예이, Linus가 간다. Uppskattar det.
Prof. Falken

OSX 10.6.8 용으로 컴파일 된 바이너리를 가질 기회가 있습니까? 소스를 컴파일하는 방법을 모르겠습니다 ... (여기에 사과 녀석이 많지 않습니다 ...)
Mark Miles

4
@MarkMiles 대부분의 코드는 Javascript로 작성되었으므로 컴파일되지 않습니다. Npm은 필요한 모든 소스 파일 (C, Objective-C)을 컴파일합니다. 모든 것을 실행하는 가장 쉬운 방법은 1) brew ( brew.sh )를 설치합니다. 2) Node.js ( brew install node)도 번들로 설치 하는 것 npm입니다. 3) 답변의 "빠른 예"를 따르십시오
Linus Unnebäck

@Lothar 쉬운 배포를 위해 appdmg를 바이너리로 패키지화하는 것이 좋을 것이라고 생각하지만 이미 nodejs 환경을 포함시킨 사용 사례입니다. 그러나 이것이 "간단한 쉘 스크립트"에서 수행 될 수 있다고 생각한다면 감히 시도해보십시오. 코드를 살펴보면 너무 사소하지 않습니다. 쉘 스크립트 외에 다른 프로그래밍 언어가있는 데에는 이유가 있습니다.
Linus Unnebäck 15.

20

매우 쉽습니다. 기본 아이디어는 디스크 유틸리티를 사용하여 빈 이미지를 만들고 (최소한 물건을 담을 수있을만큼 충분히 크게 만드십시오. 정확한 크기는 중요하지 않습니다) Finder를 사용하여 해당 이미지를 열고 , 물건을 넣고 정렬하는 것입니다. 원하는 방식으로 (오른쪽 클릭 및 보기 옵션 표시를 사용 하여 아이콘 크기 또는 배경 이미지와 같은 항목을 설정). 즉 거의이다 - 남아 압축 된 이미지로 이미지 W / R이 변환 할 모든 것을 : 꺼내기 IT 및 사용 변환 에서 디스크 유틸리티 압축 된 이미지로 변환 할 수 있습니다.


9

기존 답변 중 어느 것도 나를 위해 실제로 해주지 않았습니다. 한 가지 대답은 수동이고 다른 두 가지 옵션 인 iDMG 및 node-appdmg는 둘 다 이상적이지 않은 파인더를 애플 스크립팅하는 것과 관련됩니다.

자동 빌드 단계로이 작업을 수행하는 가장 좋은 방법은 원하는대로 정확하게 보이는 template.dmg를 만든 다음 (예 : Simon Urbanek의 대답과 같은 일반적인 지침을 따르지만 압축하는 마지막 단계는 수행하지 않음) 빌드에서 만드는 것입니다. 스크립트:

  1. hdiutil을 사용하여 이미지 첨부
  2. cp 등을 사용하여 애플리케이션을 탑재 된 이미지에 복사합니다.
  3. hdiutil 분리
  4. 이미지 압축 : hdiutil convert "in.dmg"-quiet -format UDZO -imagekey zlib-level = 9 -o "MyApp-0.3.dmg"

https://github.com/remko/fancy-dmg/ 에 이러한 단계가 포함 된 메이크 파일 이 있습니다.


2
AppleScript를 삭제하고 node-appdmg 크로스 플랫폼을 가져 오기 위해 노력하고 있습니다. 작업을 따르고 싶다면 여기를보십시오 : github.com/LinusU/node-appdmg/issues?milestone=1&state=open
Linus Unnebäck 2013

1
@ LinusUnnebäck 굉장합니다. 공유해 주셔서 감사합니다! applescript 종속성을 제거하는 것만으로도 훌륭합니다.
JosephH 2013

문제 없습니다 :) 우리는 우리 자신의 .DS_Store를 작성할 수 있어야하며 모든 것이 실제로 파악되었습니다. 구현할 시간을 찾아야합니다. ( github.com/LinusU/node-appdmg/issues/14 )
Linus Unnebäck 2013

.DS_Store는 문서화되어 있지 않으며 절대 그렇게되지 않을 것이라고 확신하므로 탈출구가 아닙니다. 템플릿이 유일한 신뢰할 수있는 솔루션 인 것 같습니다.
Lothar


1

Finder로 할 수 있습니다.

  1. 다운로드 및 압축을 풉니 이 빈 DMG 파일 (I 작성하고 업로드 한 사람이야)
  2. DMG 파일의 크기를 적절한 크기로 조정합니다 (적절한 크기는 일반적으로 현재 크기에 .app 파일의 크기를 더한 것입니다). 이렇게하려면 디스크 유틸리티를 엽니 다 (이 방법을 모르는 경우 disk utilityLaunchpad에서 검색 ). 그런 다음 메뉴 표시 줄에서 "이미지"를 클릭하고 "크기 조정 ..."을 선택합니다. 파일을 열 수있는 창이 표시되고 빈 DMG 파일을 엽니 다.
  3. DMG 파일을 두 번 클릭하여 마운트합니다. 이름 Untitled이 지정된 데스크탑에 장치 가 나타납니다. 원하는 이름으로 이름을 바꿉니다 (프로그램과 같은 이름을 지정하고 싶을 것입니다).
  4. 해당 장치를 엽니 다. 다음과 같은 내용이 표시되어야합니다.

    여기에 이미지 설명 입력

    응용 프로그램 폴더 바로 가기를 제외한 모든 것이 흰색 인 경우 Cmd+를 누르면 J창이 열립니다. 창 하단에 "여기에 이미지 끌기"라는 레이블이있는 사각형이 있습니다. 해당 사각형을 클릭하면 열기 대화 상자가 열립니다. 이 대화 상자에서 Cmd+ Shift+ 를 누르고 image.png를 G입력 하고 선택합니다./Volumes/(whatever you called the device in step 3)/.image

    응용 프로그램 폴더의 바로 가기를 제외한 모든 것은 배경 이미지입니다. 배경 이미지 (배경색과 화살표 포함)를 변경할 수 있습니다. 이렇게하려면 이미지 편집기에서 파일 을 열고 원하는대로 편집하십시오. 이 작업을 완료 한 후에는 장치를 마운트 해제하고 DMG 파일을 열어 변경 사항을 확인하여 다시 마운트해야 할 수 있습니다. 이미지에 넣은 내용에 따라 새 배경 이미지에 맞게 바로 가기를 응용 프로그램 폴더로 이동해야 할 수도 있습니다./Volumes/(whatever you called the device in step 3)/.image/image.png

  5. .app 파일을 DMG 파일의 장치가 열려있는 창의 화살표 시작 부분으로 드래그하여 다음과 같이 보이게합니다.

    여기에 이미지 설명 입력

    여유 공간이 충분하지 않다는 오류가 표시 될 수 있습니다. 이 경우 2 단계로 돌아가서 DMG 파일의 크기를 더 크게 조정합니다.

  6. Finder에서 기기 이름 옆에있는 화살표를 클릭하여 기기를 마운트 해제합니다.

    여기에 이미지 설명 입력

  7. DMG 파일을 읽기 전용으로 변환하십시오. 이렇게하려면 터미널을 열고 다음을 입력합니다 ( /path/to/dmg/fileDMG 파일의 경로와 DMG 파일 nameOfDmgFile.dmg의 이름으로 대체 ).

    cd /path/to/dmg/file
    hdiutil convert -format UDZO -o newNameOfDmgFile.dmg nameOfDmgFile.dmg
    

    이렇게하면 newNameOfDmgFile.dmg원하는 파일 인 새 DMG 파일 (또는 위에서 사용한 다른 이름)이 생성됩니다.


왜 (당신이 지점 2에서 언급 한 바와 같이) 우리는 DMG의 크기를 조정해야 할
크리슈나 마루

@KrishnaMaru이 답변을 작성한 지 오래되었지만 올바르게 기억하면 너무 작은 DMG에 큰 파일을 복사하려고하면 오류가 발생합니다.
Donald Duck

0

이를 위해 디스크 유틸리티를 사용할 수 있지만 백그라운드에서 사진을 보려면 고급 지침이 필요합니다.

먼저 디스크 유틸리티를 열고
파일> 새 이미지> 빈 이미지를 클릭합니다.
크기와 이름을 묻습니다.
그 후에 파일을 넣을 수 있습니다.

참고 : 이것은 Mac OS Mojave에서 테스트되었습니다. 나는 이전 버전에 대해 모른다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.