Microsoft MVP성태의 닷넷 이야기
개발 환경 구성: 252. Xamarin 라이선스 관리 [링크 복사], [링크+제목 복사],
조회: 25299
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Xamarin 라이선스 관리

아시는 것처럼, Xamarin은 연 단위로 라이선스가 관리됩니다. 즉, 구독 후 1년이 지나면 라이선스가 만료(expiration)되는 것입니다. 이 때문에 최신 버전의 Xamarin.iOS, Xamarin.Android를 다운로드 받아 설치하면 기존 라이선스 적용이 안되어 "Starter Edition" 라이선스로 동작하게 됩니다.

천천히 현상을 한번 볼까요? ^^

우선, Xamarin 홈페이지에서 자신의 구독 관리 페이지에 가면 다음과 같이 "Download Xamarin" 링크가 제공됩니다.

xamarin_expire_1.png

위의 링크를 누르면 "XamarinInstaller.exe" 설치 파일을 내려 받을 수 있는데, 이렇게 되면 가장 최신의 Xamarin.iOS, Xamarin.Android, Xamarin Studio, Xamarin [iOS/Android] for Visual Studio를 설치하게 됩니다. 그리고, 만약 자신의 1년 구독이 끝난 후라면 이런 경우 "Starter Edition" 라이선스로 자동 강등됩니다. 가령, "Xamarin for Visual Studio" 기능은 "Business Edition"부터 사용할 수 있는데 최신 버전의 적용으로 인해 "Starter Edition" 취급을 받기 때문에 Visual Studio에서 Android 프로젝트를 컴파일하려고 시도하면 다음과 같이 라이선스 취득 창이 뜹니다.

xamarin_expire_2.png

Using Xamarin.Android with Visual Studio requires Business edition or higher.

-> Purchase a Xamarin.Android subscription
	Open the Xamarin Store in a web browser to purchase a subscription.

-> Begin a Trial
	Get a free trial with access to all paid features.

-> Continue using Starter Edition in Xamarin Studio
	You will not have access to this feature.

실제로 Visual Studio의 "Tools" / "Xamarin Account" 메뉴를 실행해 보면 다음과 같이 "STARTER" 라이선스로 나옵니다.

xamarin_expire_3.png




그럼, 구독 후 1년이 지나면 더 이상 Xamarin을 사용할 수 없는 것이냐? 라고 물으실 텐데요. 그렇지 않습니다. 여기서 문제는 최신 버전을 적용했기 때문입니다. 따라서, 자신의 구독 기간 내에 릴리스된 Xamarin 제품을 설치하면 기존의 라이선스를 적용받게 됩니다.

이를 위해 우선 컴퓨터에 설치된 최신 버전의 Xamarin 제품을 제거하고 난 후, 자신의 Xamarin 제품 구독 페이지에 가서 만료 기간을 확인해야 합니다. 제 경우에는 아래에서 보는 것처럼 2014년 9월 26일에 만료되었습니다.

xamarin_expire_4.png

그다음 자신의 구독 만료 내에 해당하는 설치 파일을 받으면 되는데요. 이렇게 하려면 "XamarinInstaller.exe" 통합 설치 파일을 다운로드 받으면 안되고 "View all version"를 눌러서 2014년 9월 26일 이전에 릴리스된 개별 제품을 다운로드 받아야 합니다.

xamarin_expire_5.png

문제는 여기서 시작됩니다. ^^; Xamarin 측은 애석하게도 old version에 대한 링크를 겨우 6개 정도만 제공하기 때문에 날짜가 자신의 구독 기간을 지나 있을 수 있습니다. 위의 화면에서 보면 가장 마지막 항목이 "2014년 9월 30일"인데, 제 구독 만료는 9월 26일이므로 저걸 다운로드 받으면 마찬가지로 "Starter Edition" 라이선스로만 사용할 수 있습니다.

다행인 것은, 그렇다고 해서 Xamarin 측에서 이전 버전에 대한 다운로드 파일을 제거한 것은 아니라는 점입니다. 그래서 구글 검색을 통해 "Xamarin.VisualStudio_Setup-3.5"라고 검색해 다운로드 링크를 찾을 수 있었고,

Xamarin.VisualStudio_Setup-3.5.55.msi
; http://download.xamarin.com/XamarinforVisualStudio/Windows/Xamarin.VisualStudio_Setup-3.5.55.msi

이 파일을 설치할 수 있었습니다. (또는, Xamarin 측의 릴리스 노트를 통해 설치 파일의 버전 번호를 대략 유추해서 찍을 수 있습니다.)

이런 식으로 다운로드해야 할 것은 "Xamarin.iOS", "Xamarin.Android" 설치 파일만 해당합니다. "Xamarin Studio"의 경우에는 원래가 무료 버전이기 때문에 최신 버전의 항목을 선택해서 설치해도 라이선스 문제가 걸리지 않습니다.

따라서, 제 경우에는 Xamarin.Android 설치 파일로는 "Xamarin.VisualStudio_Setup-3.5.55.msi" 파일을 내려 받았고, Xamarin Studio로는 (오늘 날짜 기준의) 최신 버전인 5.5.4 설치 파일을 내려받아 설치했습니다. (물론, Xamarin Studio를 사용하지 않는다면 굳이 설치할 필요는 없습니다.)

그리하여, 다시 Visual Studio의 "Tools" / "Xamarin Account" 메뉴를 보면 비록 만료는 되었지만 아래와 같이 "BUSINESS" 라이선스가 적용된 것을 확인할 수 있습니다.

xamarin_expire_6.png

즉, 최신 버전으로의 업데이트만 받지 않는다면 영원히 이 버전의 Xamarin 제품을 사용할 수는 있습니다.

(결국! 자신의 구독 기간에 해당하는 가장 최신 버전의 설치 파일을 내려받아 두는 것이 권장됩니다.)




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 7/5/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2014-12-08 05시42분
[spowner] 하하 Xamarin.Android 라이센스가 만료된 일인으로.. 재밌는 포스팅입니다. Xamarin은 라이센스 가격을 좀 낮추면 좋을텐데요.. 넘 비싸요 T_T
[guest]
2014-12-09 02시10분
@spowner 그러게요. ^^ 마이크로소프트가 Xamarin 인수에 성공했어야 하는 건데.
정성태
2015-03-29 05시05분
[기정아빠] 자마린 사이트에 보면 1개월 단위로도 사용이 가능하던 것 같던데.
그럼 1개월짜리로 신청해서 하다가 위의 방법처럼 사용해도 된다는 말인가요?
신청했던 당시의 버전으로만 하면 코딩이 가능하다는 뜻인지요?
[guest]
2015-03-29 05시10분
[기정아빠] 제가 착각 했네요..ㅡㅡ
1개월짜리가 아니고 1년단위 라이센스 인데 월비용으로 따졌을때 얼마씩이라는 뜻이네요....ㅡㅡ
[guest]
2015-03-29 05시12분
[기정아빠] 한가지만 더 ..
제가 msdn pro 버젼을 구매해서 사용하고 있는데
혹시 자마린을 싸게 구매할 방법이 있을까요?
[guest]
2015-03-30 01시14분
@기정아빠 그러게요. ^^ 현재는 년단위 라이선스만 있는 것 같습니다. 또한 MSDN의 어떠한 구독 서비스도 연동되는 할인은 없습니다.
정성태
2016-03-02 12시04분
[spowner] Xamarin이 Microsoft에 합류한다고 합니다. 라이센스 가격 정책도 좀 더 합리적이고 공격적으로 정해졌으면 좋겠네요
[guest]
2016-03-02 12시17분
넵... 아마도 Visual Studio 라이선스에 통합되지 않을까 예상해봅니다. 사실, 별도로 가져갈 거면 인수할 의미도 없고 Xamarin 시장 상황이 극적으로 변하지는 않을 것이기 때문에. (협업은 그전부터 해왔다고 하니. ^^)

암튼, 좋은 소식인 것 같고 더 구체적인 일정은 BUILD 컨퍼런스에서 공개한다고 하니 조금만 기다리면 될 듯 합니다. ^^
정성태

... 46  47  48  [49]  50  51  52  53  54  55  56  57  58  59  60  ...
NoWriterDateCnt.TitleFile(s)
12713정성태7/16/202117203.NET Framework: 1077. C# - 동기 방식이면서 비동기 규약을 따르게 만드는 Task.FromResult파일 다운로드1
12712정성태7/15/202116131개발 환경 구성: 579. Azure - 리눅스 호스팅의 Site Extension 제작 방법
12711정성태7/15/202116132개발 환경 구성: 578. Azure - Java Web App Service를 위한 Site Extension 제작 방법
12710정성태7/15/202118771개발 환경 구성: 577. MQTT - emqx.io 서비스 소개
12709정성태7/14/202114293Linux: 42. 실행 중인 docker 컨테이너에 대한 구동 시점의 docker run 명령어를 확인하는 방법
12708정성태7/14/202118511Linux: 41. 리눅스 환경에서 디스크 용량 부족 시 원인 분석 방법
12707정성태7/14/202185741오류 유형: 734. MySQL - Authentication method 'caching_sha2_password' not supported by any of the available plugins.
12706정성태7/14/202116925.NET Framework: 1076. C# - AsyncLocal 기능을 CallContext만으로 구현하는 방법 [2]파일 다운로드1
12705정성태7/13/202117315VS.NET IDE: 168. x64 DLL 프로젝트의 컨트롤이 Visual Studio의 Designer에서 보이지 않는 문제 - 두 번째 이야기
12704정성태7/12/202116106개발 환경 구성: 576. Azure VM의 서비스를 Azure Web App Service에서만 접근하도록 NSG 설정을 제한하는 방법
12703정성태7/11/202121471개발 환경 구성: 575. Azure VM에 (ICMP) ping을 허용하는 방법
12702정성태7/11/202117198오류 유형: 733. TaskScheduler에 등록된 wacs.exe의 Let's Encrypt 인증서 업데이트 문제
12701정성태7/9/202116735.NET Framework: 1075. C# - ThreadPool의 스레드는 반환 시 ThreadStatic과 AsyncLocal 값이 초기화 될까요?파일 다운로드1
12700정성태7/8/202117166.NET Framework: 1074. RuntimeType의 메모리 누수? [1]
12699정성태7/8/202115699VS.NET IDE: 167. Visual Studio 디버깅 중 GC Heap 상태를 보여주는 "Show Diagnostic Tools" 메뉴 사용법
12698정성태7/7/202119959오류 유형: 732. Windows 11 업데이트 시 3% 또는 0%에서 다운로드가 멈춘 경우
12697정성태7/7/202115029개발 환경 구성: 574. Windows 11 (Insider Preview) 설치하는 방법
12696정성태7/6/202115973VC++: 146. 운영체제의 스레드 문맥 교환(Context Switch)을 유사하게 구현하는 방법파일 다운로드2
12695정성태7/3/202116014VC++: 145. C 언어의 setjmp/longjmp 기능을 Thread Context를 이용해 유사하게 구현하는 방법파일 다운로드1
12694정성태7/2/202117954Java: 24. Azure - Spring Boot 앱을 Java SE(Embedded Web Server)로 호스팅 시 로그 파일 남기는 방법 [1]
12693정성태6/30/202114896오류 유형: 731. Azure Web App Site Extension - Failed to install web app extension [...]. {1}
12692정성태6/30/202115380디버깅 기술: 180. Azure - Web App의 비정상 종료 시 남겨지는 로그 확인
12691정성태6/30/202115628개발 환경 구성: 573. 테스트 용도이지만 테스트에 적합하지 않은 Azure D1 공유(shared) 요금제
12690정성태6/28/202116646Java: 23. Azure - 자바(Java)로 만드는 Web App Service - Tomcat 호스팅
12689정성태6/25/202118344오류 유형: 730. Windows Forms 디자이너 - The class Form1 can be designed, but is not the first class in the file. [1]
12688정성태6/24/202117658.NET Framework: 1073. C# - JSON 역/직렬화 시 리플렉션 손실을 없애는 JsonSrcGen [2]파일 다운로드1
... 46  47  48  [49]  50  51  52  53  54  55  56  57  58  59  60  ...