Windows Phone App运行完整版而不是试用版。

时间:2012-01-31 12:59:10

标签: windows-phone-7

我在我的WP7应用程序中添加了试用版,但是当我在发布模式下在Windows手机设备上部署应用程序时,它运行应用程序的完整版本而不是试用版。所以当我提交我的应用程序时,我担心如果人们可以在不购买的情况下使用我的应用程序的完整版本。或者它可能是在提交应用程序或通过这种方式安装到手机之前应该是什么,但我找不到任何有关它的信息。这是我的代码示例。

在App.xaml中,我将LicenceInformation.IsTrial设置为静态bool变量以进行缓存。

public static bool IsTrial
{
  get;
  private set;
}

private void DetermineIsTrial()
{
  #if TRIAL
    IsTrial = true;
  #else
    var license = new Microsoft.Phone.Marketplace.LicenseInformation();
    IsTrial = license.IsTrial();
  #endif
}

private void Application_Launching(object sender, LaunchingEventArgs e)
{
    DetermineIsTrial();
}

private void Application_Activated(object sender, ActivatedEventArgs e)
{
    DetermineIsTrial();
}

然后我通过这种方式检查它是试用版还是完整版。

if(App.IsTrial)
{
  //Trial Version
} 
else
{
  //Full Version
}

所以我已经完成了所有试用版和完整版测试,并且已准备好提交,但是在发布模式下将其部署到Windows手机设备时,是不是要运行试用版而不是完整版?任何帮助将不胜感激。

问候。

2 个答案:

答案 0 :(得分:3)

这取决于你在发布配置中定义TRIAL编译变量吗?

如果是这样,您需要将其删除。

<强>更新

这是预期的行为,根据How to: Test and Debug your Trial Application for Windows Phone

  

在Windows Phone模拟器中进行调试或在未锁定的设备上进行测试时,您的应用程序必须模拟试用模式。在这些通常称为调试模式的情况下,IsTrial方法始终返回 false

答案 1 :(得分:3)

看起来这样做是预期的 - 您的应用还没有在Marketplace上,因此IsTrial标志默认为false。

请参阅How to: Implement a Trial Experience in a Silverlight Application for Windows Phone

  

只有在应用程序发布到Windows Phone Marketplace后才能获得真正的许可证信息。

尝试使用以下代码添加到主页的空白Windows Phone项目也会false

    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {
        var license = new Microsoft.Phone.Marketplace.LicenseInformation();
        bool isT = license.IsTrial();
    }