Microsoft MVP성태의 닷넷 이야기
개발 환경 구성: 252. Xamarin 라이선스 관리 [링크 복사], [링크+제목 복사],
조회: 25445
글쓴 사람
정성태 (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 컨퍼런스에서 공개한다고 하니 조금만 기다리면 될 듯 합니다. ^^
정성태

... 76  77  78  79  80  81  82  83  84  [85]  86  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
11812정성태2/11/201915719오류 유형: 511. Windows Server 2003 VM 부팅 후 로그인 시점에 0xC0000005 BSOD 발생
11811정성태2/11/201921054오류 유형: 510. 서버 운영체제에 NVIDIA GeForce Experience 실행 시 wlanapi.dll 누락 문제
11810정성태2/11/201918609.NET Framework: 808. .NET Profiler - GAC 모듈에서 GAC 비-등록 모듈을 참조하는 경우의 문제
11809정성태2/11/201920783.NET Framework: 807. ClrMD를 이용해 메모리 덤프 파일로부터 특정 인스턴스를 참조하고 있는 소유자 확인
11808정성태2/8/201922119디버깅 기술: 123. windbg - 닷넷 응용 프로그램의 메모리 누수 분석
11807정성태1/29/201920014Windows: 156. 가상 디스크의 용량을 복구 파티션으로 인해 늘리지 못하는 경우 [4]
11806정성태1/29/201919652디버깅 기술: 122. windbg - 덤프 파일로부터 PID와 환경 변수 등의 정보를 구하는 방법
11805정성태1/28/201921826.NET Framework: 806. C# - int []와 object []의 차이로 이해하는 제네릭의 필요성 [4]파일 다운로드1
11804정성태1/24/201919670Windows: 155. diskpart - remove letter 이후 재부팅 시 다시 드라이브 문자가 할당되는 경우
11803정성태1/10/201918587디버깅 기술: 121. windbg - 닷넷 Finalizer 스레드가 멈춰있는 현상
11802정성태1/7/201920243.NET Framework: 805. 두 개의 윈도우를 각각 실행하는 방법(Windows Forms, WPF)파일 다운로드1
11801정성태1/1/201921558개발 환경 구성: 427. Netsh의 네트워크 모니터링 기능 [3]
11800정성태12/28/201820628오류 유형: 509. WCF 호출 오류 메시지 - System.ServiceModel.CommunicationException: Internal Server Error
11799정성태12/19/201822419.NET Framework: 804. WPF(또는 WinForm)에서 UWP UI 구성 요소 사용하는 방법 [3]파일 다운로드1
11798정성태12/19/201821254개발 환경 구성: 426. vcpkg - "Building vcpkg.exe failed. Please ensure you have installed Visual Studio with the Desktop C++ workload and the Windows SDK for Desktop C++"
11797정성태12/19/201817242개발 환경 구성: 425. vcpkg - CMake Error: Problem with archive_write_header(): Can't create '' 빌드 오류
11796정성태12/19/201817575개발 환경 구성: 424. vcpkg - "File does not have expected hash" 오류를 무시하는 방법
11795정성태12/19/201820868Windows: 154. PowerShell - Zone 별로 DNS 레코드 유형 정보 조회 [1]
11794정성태12/16/201816929오류 유형: 508. Get-AzureWebsite : Request to a downlevel service failed.
11793정성태12/16/201819502개발 환경 구성: 423. NuGet 패키지 제작 - Native와 Managed DLL을 분리하는 방법 [1]
11792정성태12/11/201819187Graphics: 34. .NET으로 구현하는 OpenGL (11) - Per-Pixel Lighting파일 다운로드1
11791정성태12/11/201819232VS.NET IDE: 130. C/C++ 프로젝트의 시작 프로그램으로 .NET Core EXE를 지정하는 경우 닷넷 디버깅이 안 되는 문제 [1]
11790정성태12/11/201817737오류 유형: 507. Could not save daemon configuration to C:\ProgramData\Docker\config\daemon.json: Access to the path 'C:\ProgramData\Docker\config' is denied.
11789정성태12/10/201831430Windows: 153. C# - USB 장치의 연결 및 해제 알림을 위한 WM_DEVICECHANGE 메시지 처리 [2]파일 다운로드2
11788정성태12/4/201817645오류 유형: 506. SqlClient - Value was either too large or too small for an Int32.Couldn't store <2151292191> in ... Column
11787정성태11/29/201821821Graphics: 33. .NET으로 구현하는 OpenGL (9), (10) - OBJ File Format, Loading 3D Models파일 다운로드1
... 76  77  78  79  80  81  82  83  84  [85]  86  87  88  89  90  ...