How Tos

Last reviewed: 1/14/2012

Article ID: H071110

HOW: Developing Silverlight applications that manage grammars

The information in this article applies to:

  • GrammarKit 4

Summary

You can develop Silverlight applications that manage grammars using your favorite Silverlight development tools such as Microsoft Visual C# .NET and Microsoft Visual Basic .NET.

More Information

To access the GrammarKit Silverlight classes within your application, add them to your project References:

  1. Within your Silverlight project, right click on the References folder in C# or Open MyProject in VB and select the References tab.
  2. For Silverlight V4 applications, add references to the GrammarKit Silverlight assemblies:
    1. Program Files\Chant\GrammarKit 4\Win32\Silverlight\libv4\Chant.GrammarKit.Silverlight.dll and
    2. Program Files\Chant\GrammarKit 4\Win32\Silverlight\libv4\Chant.Shared.Silverlight.dll.
  3. For Silverlight V5 applications, add references to the GrammarKit Silverlight assemblies:
    1. Program Files\Chant\GrammarKit 4\Win32\Silverlight\libv5\Chant.GrammarKit.Silverlight.dll and
    2. Program Files\Chant\GrammarKit 4\Win32\Silverlight\libv5\Chant.Shared.Silverlight.dll.

To access the GrammarKit Silverlight classes within your application, add references to the GrammarKit assemblies in your code:

using System;
...
using Chant.GrammarKit.Silverlight;
using Chant.Shared.Silverlight;

Out-of-Browser Settings

To run your Silverlight app out-of-browser, set the properties as follows:

  1. Within your Silverlight project, select the Silverlight tab under project properties.
  2. Select the checkbox: Enable application running out of the browser.
  3. Deselect the checkbox: Require elevated trust when running in-browser.
  4. Press the Out-of-Browser Settings... button.
  5. Select the checkbox: Required elevated trust when running outside the browser.

In-Browser Settings

To run your Silverlight app in-browser, set the properties as follows:

  1. Within your Silverlight project, select the Silverlight tab under project properties.
  2. Select the checkbox: Require elevated trust when running in-browser.
  3. Deselect the checkbox: Enable application running out of the browser.
  4. Select the Signing tab under project properties.
  5. Select the checkbox: Sign the Xap File.
  6. Press one of the three buttons to select a signing certificate:
    1. Select from Store... if you have installed a signing certificate on your system;
    2. Select from File... if you have a signing certificate file your system; or
    3. Create test certificate... if you do not have signing certificate on your system.
  7. Press the More Details... button to ensure you have installed Trusted Root and Publisher certificiates:
    1. Press the Install Certificate... button;
    2. Select Automatically ... option if you have Certificate installed in your store or Select Place ... option if you created a temp certificate for testing and press the Browse button;
    3. Select Trusted Root Certification Authorities and press the OK button; and
    4. Press the Next button.
    5. Repeat the process by Pressing the Install Certificate... button;
    6. Select Place ... option and press the Browse button;
    7. Select Trusted Publishers and press the OK button; and
    8. Press the Next button.
  8. Run regedit to add a Silverlight registery property AllowElevatedTrustAppsInBrowser with value of 1:
    1. Select the Start menu and enter regedit to launch the Registry Editor;
    2. For Win32 systems, navigate to HKEY_LOCAL_MACHINE\Software\Microsoft\Silverlight\;
    3. For Win64 systems, navigate to HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Silverlight\;
    4. Right click and select New->DWORD (32-bit) Value;
    5. Set the value name to AllowElevatedTrustAppsInBrowser;
    6. Set th value data to 1;
    7. Press the OK button; and
    8. Close the Registry Editor.

Object Instantiation

Declare a global variable for the ChantGM class, instantiate an instance, add the event handler, and set the license and serial properties.

private Chant.GrammarKit.Silverlight.NChantGM NChantGM1;
public MainPage()
{
    InitializeComponent();
    // Instantiate NChantGM object
    NChantGM1 = new NChantGM(this);
    // Setup event callback handler
    NChantGM1.HasEvent += new Chant.GrammarKit.Silverlight.NChantGM.HasEventHandler(this.NChantGM1_HasEvent);
    // Set license properties
    NChantGM1.SetStringProperty(ChantStringProperty.CSPLicense, "LicenseRegistrationNumber");
    NChantGM1.SetStringProperty(ChantStringProperty.CSPSerials, "LicenseSerialNumber");
}

Event Callbacks

Event callbacks are the mechanism in which the component library communications information back to the application such as compilation is complete or there was an error.

private void NChantGM1_HasEvent(object sender, HasEventArgs e)
{
    // Get the number of events
    int numberOfEvents = NChantGM1.GetResourceCount(ChantSpeechResource.CSREvent, 0, 0);
    for (int i = 0; i < numberOfEvents; i++)
    {
        // Get the event from the event queue
        NChantGMEvent nChantGMEvent = NChantGM1.GetChantGMEvent(0);
        switch (nChantGMEvent.ChantCallback)
        {
            case ChantCallback.CCGMDone:
                {
                    ...
                    break;
                }
            default:
                break;
        }
        // Remove the event from the event queue
        NChantGM1.RemoveResource(ChantSpeechResource.CSREvent, 0, 0, "");
    }
}

Deployment Checklist

When you are ready to deploy your application, you need to ensure you have a valid license, bundle the correct Chant component libraries, and configure your installation properly on the target system. Review the following checklist before deploying your applications:

  • You may deploy your Silverlight application to any system with a valid license from the Chant.
  • Copy Chant.GrammarKit.Silverlight.dll and Chant.Shared.Silverlight.dll libraries to the target system or merge them with your application using an obfuscator like .NET Reactor by Eziriz.
  • Copy NGrammarKit.dll to the target system.
  • Register NGrammarKit.dll as a COM library on the target system.

Sample Projects

Silverlight sample projects are installed at the following location:

  • My Documents\Chant GrammarKit 4\Win32\Silveright\VS 2010\CSharp and
  • My Documents\Chant GrammarKit 4\Win32\Silveright\VS 2010\Visual Basic.
Chant Developer Workbench Upgrade to Developer Workbench 2016

  • Develop breakthrough apps that speak and listen
  • Includes GrammarKit, KinesicsKit, LexiconKit, ProfileKit, SpeechKit, VoiceMarkupKit, and VoiceXMLKit

Learn moreLearn more DownloadDownload Buy US $999Buy US $999
Plantronics Savi 440 Plantronics Savi 440 wireless headset

  • Noise-Canceling microphone
  • Range up to 300 feet
  • 7 hours talk time
  • USB charging cradle
  • Wearing options: over the head, over the ear, behind the neck, and dual T-pad headband

Learn moreLearn more