Bug 10378 - [MFAVS] Entitlements file for MFA is not generated on license path after activating with Expired Account.
Summary: [MFAVS] Entitlements file for MFA is not generated on license path after acti...
Alias: None
Product: Visual Studio Extensions
Classification: Xamarin
Component: Activation ()
Version: 1.0.x
Hardware: PC Windows
: Normal normal
Target Milestone: 1.3.x
Assignee: Dominique Louis
Depends on:
Reported: 2013-02-18 11:31 UTC by Saurabh
Modified: 2013-06-21 10:35 UTC (History)
4 users (show)

Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report on Developer Community with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

Description Saurabh 2013-02-18 11:31:45 UTC
Step to Reproduce:
1. Open VS 
2. Login in Xamarin Account(Tools-> Xamarin Account) with an expired account 
(e.g Exp+Priority@gmail.com, Password: 360logica)
3. Create an MFA application
4. Observe that expires license is activated for MFA and Purchase option appears in trigger
5. Create an iOS application
6. Observe that expired license is activated for iOS and Purchase option appears in trigger
7. Go to the path C:\ProgramData\ and check 'MonoTouch' and 'Mono for Android'
8. Observe that Entitlements file does not appear for MFA. However, for iOS Entitlements file appears. 

Actual result:
After activating with an expired license, Entitlements file for MFA is not appearing in 'Mono for Android' . However, for iOS Entitlements file appears.

Expected result:
After activating with an expired license, Entitlements file should appear for both  MFA and iOS.

Expired Account details:
ID: Exp+Priority@gmail.com 
Password: 360logica 

VS 2010/12
MTVS 1.0.897
Comment 1 Peter Collins 2013-02-18 13:03:20 UTC
This bug is confirmed, it looks like the entitlements file is being removed when hitting the expired workflow (Opening or loading a XAVS project with exp license on disk):
Comment 2 Jonathan Pryor 2013-02-18 17:45:28 UTC
Xamarin.Android does not create the Entitlements file, Xamarin Studio does.

Comment 3 Mikayla Hutchinson [MSFT] 2013-02-18 18:06:39 UTC
This sounds correct to me, even though an expired license can be activated, if its expiry date predates the build date of the installed version of MfA then it does not have any entitlements.
Comment 4 Mikayla Hutchinson [MSFT] 2013-02-18 18:08:19 UTC
The real question here is why there are entitlements for xamarin.ios.
Comment 5 Mikayla Hutchinson [MSFT] 2013-02-18 18:37:15 UTC
What's the full output from mtouch --entitlements and mandroid --entitlements after step 8?
Comment 6 Mikayla Hutchinson [MSFT] 2013-02-18 18:41:08 UTC
Per comment 3&4, I don't think there should be entitlements files if the license is expired for MT and MfA. So the issue is probably in MTVS.
Comment 7 Peter Collins 2013-02-18 18:56:14 UTC
mandroid --entitlements: fe0f726d8ba9d404a0fb96d0aee39af3c762dae2 MonoAndroid Priority 2013-01-01T00:00:00

mtouch --entitlements: 3f0dd0424a771d1f4b3cd9f8051ec6876316b060 MonoTouch Priority 2013-01-01T00:00:00
Comment 8 Mikayla Hutchinson [MSFT] 2013-02-18 22:42:01 UTC
That's with *expired* licenses? --entitlements is supposed to output errors for expired licenses.
Comment 9 PJ 2013-02-18 22:43:56 UTC
PeterC: you'll have to run with 

> o.txt 2> e.txt  and get the contents of e.txt to capture stderr
Comment 10 Peter Collins 2013-02-18 23:23:47 UTC
For some reason cygwin terminal will give me the full entitlements output without having to redirect. These are the --entitlements results after step 8:

$ Android/mandroid.exe --entitlements
fe0f726d8ba9d404a0fb96d0aee39af3c762dae2 MonoAndroid Priority 2013-01-01T00:00:00
monodroid: error XA9000: This version was released after your subscription expired (1/1/2013 12:00:00 AM).

$ iOS/mtouch.exe --entitlements
3f0dd0424a771d1f4b3cd9f8051ec6876316b060 MonoTouch Priority 2013-01-01T00:00:00
error MT9000: This version was released after your subscription expired (1/1/2013 12:00:00 AM).
Comment 11 Mikayla Hutchinson [MSFT] 2013-02-19 02:33:09 UTC
Right, that's how a terminal should behave :) Normally both streams (stdout and sterr) go to the controlling terminal, but redirection can redirect *either* stream.

It looks like both licenses are indeed expired and mandroid/mtouch are behaving correctly, so the issue is probably with MTVS.

To confirm this, can you check whether this is reproducible in XS (on Mac, since it's iOS)?
Comment 12 Dominique Louis 2013-02-19 08:47:21 UTC
Hi all,
  I just tried to replicate this and if you go to C:\ProgramData\Mono for Android\License the Entitlements files is created there.

Now why they might be in 2 different places between MonoTouch and MfA I'm not sure, but there is an Entitlements file being create.
Comment 13 Peter Collins 2013-02-19 13:29:10 UTC
@Dominique the entitlements file is created, but it is also removed shortly after hitting the expired workflow.
Comment 14 Dominique Louis 2013-02-19 15:13:41 UTC
@Peter That is now what I'm seeing here. My entitlements file is still there.
Comment 15 Saurabh 2013-03-14 11:01:00 UTC
Today we have checked this issue with following builds:

VS 2012/2010
Xamarin.Android - 4.6.01055

And we are still not getting entitlements file for expired user for Xamarin.Android under C/Program Data/MonoAndroid folder. Hence, reopening this issue.
Comment 16 Dominique Louis 2013-06-03 16:50:42 UTC
By design it exists in the C/Program Data/MonoAndroid/License directory for MfA.
Comment 17 Mohit Kheterpal 2013-06-21 10:35:07 UTC
As per comment 16, we are getting entitlements file for expired user.

Hence closing this issue. Changing its status to verified.