locked
AAPP-Implementation in Windows Mobile 6 App (Win32 systemeigen) RRS feed

  • Frage

  • Hallo Mitstreiter,

    hat bereits jemand Erfahrungen mit der Implementation des von MS angebotenen C++ Codes für die Prüfung der Market Place-Lizenz?

    Lädt man eine Anwendung zum Market Place hoch, erhält man einen Link, der C++ Code enthält, der die Applications-Lizenz prüft.

    Dazu implementiert man einfach die Funktion VerifyLicense in den EventHandler WM_CREATE des Hauptfensters:

    WM_CREATE:

    ...

    // in der Vollversion wollen wir die Lizenz überprüfen
    if (!VerifyLicense("abc012345-1234-1234-1234-123456789012"))
    {
    	MessageBox(hWnd, 
    		_T("You do not have rights to this application. Please download a valid copy from Windows Phone Marketplace."), 
    		_T("Error"), MB_OK | MB_ICONERROR);
    	SendMessage (hWnd, WM_CLOSE, 0, 0);
    	break;
    }
    
    
    
    
    
    
    
    

    ...

    Leider habe ich noch nirgendwo eine nähere Information zu den GUIDs erhalten.

    Ich nehme an, die hier angegebene Bsp.-ID abc012345-1234-1234-1234-123456789012 wurde aus dem Namen meiner Anwendung generiert(?)

    Das heißt also, dass diese sich bei jeder Anwendung unterscheidet. Auch bei Updates einer Anwendung?

    Wenn ich eine Anwendung mit diesem Code zum Market Place hochlade, muss ich dann noch etwas besonderes bei der Installation beachten?

    Oder wird der Lizensschlüssel durch die zertifizierte Installation in der Registry angelegt?

     

    Danke

    Jens

    Dienstag, 28. September 2010 16:17

Antworten

  • Ok, die Frage ist geklärt (nur falls es jemanden interessiert):

    In VerifyLicense("...") wird die aktuelle ProductID der App eingetragen. Dabei ist zu beachten, dass sich die ProductID bei jedem Update ändert.

    Ich gehe so vor:

    -AppHub: Submit application update

    -Informationen: AppName und Version eintragen, ggf. noch die Beschreibung.

    -Auf Seite "Step 3 upload app" gehen und dort auf den Link "native Code" gehen. Es öffnet sich die Codeansicht, aus der ganz unten die ProductID entnommen werden kann (Copy)

    -Diese füge ich in den eigenen Code ein (ebenfalls in den VerifyLicense-Parameter)

    -Dann App kompilieren/linken und hochladen.

     

    Ich habe die Funktionalität getestet:

    Ergebnis: Wird die Anwendung über Marketplace installiert, kann die Anwendung gestartet werden.

    Wird die gleiche Anwendung ohne Marketplace-Installation installiert, erscheint beim Start die Meldung, die man der MsgBox übergeben hat. Danach folgt das CloseWindow durch die WM_CLOSE-Msg.

    Das scheint gut zu funktionieren.

     

    Jens

    • Als Antwort markiert JensMobWin Dienstag, 8. Februar 2011 12:56
    Dienstag, 8. Februar 2011 12:56