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

... 61  62  [63]  64  65  66  67  68  69  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12365정성태10/12/202018562.NET Framework: 949. C# 9.0 - (3) 람다 메서드의 매개 변수 무시(Lambda discard parameters)파일 다운로드1
12364정성태10/11/202019523.NET Framework: 948. C# 9.0 - (2) localsinit 플래그 내보내기 무시(Suppress emitting localsinit flag)파일 다운로드1
12363정성태10/11/202021219.NET Framework: 947. C# 9.0 - (1) 대상으로 형식화된 new 식(Target-typed new expressions) [2]파일 다운로드1
12362정성태10/11/202017817VS.NET IDE: 151. Visual Studio 2019에 .NET 5 rc/preview 적용하는 방법
12361정성태10/11/202019860.NET Framework: 946. C# 9.0을 위한 개발 환경 구성
12360정성태10/8/202015003오류 유형: 666. The type or namespace name '...' does not exist in the namespace 'Microsoft.VisualStudio.TestTools' (are you missing an assembly reference?)
12359정성태10/7/202017282오류 유형: 665. Windows - 재부팅 후 iSCSI 연결이 끊기는 문제
12358정성태10/7/202018165오류 유형: 664. Web Deploy 설치 시 "A newer version of Microsoft Web Deploy 3.6 was found on this machine." 오류 [3]
12357정성태10/7/202015820오류 유형: 663. 이벤트 로그 - The storage optimizer couldn't complete retrim on New Volume
12356정성태10/7/202031393오류 유형: 662. ASP.NET Core와 500.19, 500.21 오류 (0x8007000d)
12355정성태10/3/202014967오류 유형: 661. Hyper-V Linux VM의 Internal 유형의 가상 Switch에 대한 IP 연결이 되지 않는 경우
12354정성태10/2/202028982오류 유형: 660. Web Deploy (msdeploy.axd) 실행 시 오류 기록 [1]
12353정성태10/2/202018410개발 환경 구성: 518. 비주얼 스튜디오에서 IIS 웹 서버로 "Web Deploy"를 이용해 배포하는 방법
12352정성태10/2/202019623개발 환경 구성: 517. Hyper-V Internal 네트워크에 NAT을 이용한 인터넷 연결 제공
12351정성태10/2/202018085오류 유형: 659. Nox 실행이 안 되는 경우 - Unable to bind to the underlying transport for ...
12350정성태9/25/202022584Windows: 175. 윈도우 환경에서 클라이언트 소켓의 최대 접속 수 [2]파일 다운로드1
12349정성태9/25/202016725Linux: 32. Ubuntu 20.04 - docker를 위한 tcp 바인딩 추가
12348정성태9/25/202017735오류 유형: 658. 리눅스 docker - Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock
12347정성태9/25/202033283Windows: 174. WSL 2의 네트워크 통신 방법 [4]
12346정성태9/25/202016729오류 유형: 657. IIS - http://localhost 방문 시 Service Unavailable 503 오류 발생
12345정성태9/25/202016320오류 유형: 656. iisreset 실행 시 "Restart attempt failed." 오류가 발생하지만 웹 서비스는 정상적인 경우파일 다운로드1
12344정성태9/25/202018227Windows: 173. 서비스 관리자에 "IIS Admin Service"가 등록되어 있지 않다면?
12343정성태9/24/202029245.NET Framework: 945. C# - 닷넷 응용 프로그램에서 메모리 누수가 발생할 수 있는 패턴 [5]
12342정성태9/24/202019198디버깅 기술: 171. windbg - 인스턴스가 살아 있어 메모리 누수가 발생하고 있는지 확인하는 방법
12341정성태9/23/202017278.NET Framework: 944. C# - 인스턴스가 살아 있어 메모리 누수가 발생하고 있는지 확인하는 방법파일 다운로드1
12340정성태9/23/202016940.NET Framework: 943. WPF - WindowsFormsHost를 담은 윈도우 생성 시 메모리 누수
... 61  62  [63]  64  65  66  67  68  69  70  71  72  73  74  75  ...