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

1  2  [3]  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
13567정성태2/27/20241836오류 유형: 898. .NET Framework 3.5 이하에서 mscoree.tlb 참조 시 System.BadImageFormatException파일 다운로드1
13566정성태2/27/20241890오류 유형: 897. Windows 7 SDK 설치 시 ".NET Development" 옵션이 비활성으로 선택이 안 되는 경우
13565정성태2/23/20241734닷넷: 2219. .NET CLR2 보안 모델에서의 개별 System.Security.Permissions 제어
13564정성태2/22/20241975Windows: 259. Hyper-V Generation 1 유형의 VM을 Generation 2 유형으로 바꾸는 방법
13563정성태2/21/20241961디버깅 기술: 196. windbg - async/await 비동기인 경우 메모리 덤프 분석의 어려움
13562정성태2/21/20242006오류 유형: 896. ASP.NET - .NET Framework 기본 예제에서 System.Web에 대한 System.IO.FileNotFoundException 예외 발생
13561정성태2/20/20242082닷넷: 2218. C# - (예를 들어, Socket) 비동기 I/O에 대한 await 호출 시 CancellationToken을 이용한 취소파일 다운로드1
13560정성태2/19/20242125디버깅 기술: 195. windbg 분석 사례 - Semaphore 잠금으로 인한 Hang 현상 (닷넷)
13559정성태2/19/20242953오류 유형: 895. ASP.NET - System.Security.SecurityException: 'Requested registry access is not allowed.'
13558정성태2/18/20242204닷넷: 2217. C# - 최댓값이 1인 SemaphoreSlim 보다 Mutex 또는 lock(obj)를 선택하는 것이 나은 이유
13557정성태2/18/20241941Windows: 258. Task Scheduler의 Author 속성 값을 변경하는 방법
13556정성태2/17/20242001Windows: 257. Windows - Symbolic (hard/soft) Link 및 Junction 차이점
13555정성태2/15/20242151닷넷: 2216. C# - SemaphoreSlim 사용 시 주의점
13554정성태2/15/20241875VS.NET IDE: 189. Visual Studio - 닷넷 소스코드 디컴파일 찾기가 안 될 때
13553정성태2/14/20241965닷넷: 2215. windbg - thin/fat lock 없이 동작하는 Monitor.Wait + Pulse
13552정성태2/13/20241915닷넷: 2214. windbg - Monitor.Enter의 thin lock과 fat lock
13551정성태2/12/20242107닷넷: 2213. ASP.NET/Core 웹 응용 프로그램 - 2차 스레드의 예외로 인한 비정상 종료
13550정성태2/11/20242270Windows: 256. C# - Server socket이 닫히면 Accept 시켰던 자식 소켓이 닫힐까요?
13549정성태2/3/20242731개발 환경 구성: 706. C# - 컨테이너에서 실행하기 위한 (소켓) 콘솔 프로젝트 구성
13548정성태2/1/20242532개발 환경 구성: 705. "Docker Desktop for Windows" - ASP.NET Core 응용 프로그램의 소켓 주소 바인딩(IPv4/IPv6 loopback, Any)
13547정성태1/31/20242317개발 환경 구성: 704. Visual Studio - .NET 8 프로젝트부터 dockerfile에 추가된 "USER app" 설정
13546정성태1/30/20242155Windows: 255. (디버거의 영향 등으로) 대상 프로세스가 멈추면 Socket KeepAlive로 연결이 끊길까요?
13545정성태1/30/20242006닷넷: 2212. ASP.NET Core - 우선순위에 따른 HTTP/HTTPS 호스트:포트 바인딩 방법
13544정성태1/30/20242032오류 유형: 894. Microsoft.Data.SqlClient - Could not load file or assembly 'System.Security.Permissions, ...'
13543정성태1/30/20242062Windows: 254. Windows - 기본 사용 중인 5357 포트 비활성화는 방법
13542정성태1/30/20242084오류 유형: 893. Visual Studio - Web Application을 실행하지 못하는 IISExpress - 두 번째 이야기
1  2  [3]  4  5  6  7  8  9  10  11  12  13  14  15  ...