How do I develop Silverlight applications that manage markup?
Last reviewed: 1/14/2012
HOW Article ID: H071137
The information in this article applies to:
- VoiceMarkupKit 4
Summary
You can develop Silverlight applications that manage markup using your favorite Silverlight development tools such as Microsoft Visual C# .NET and Microsoft Visual Basic .NET.
More Information
To access the VoiceMarkupKit Silverlight classes within your application, add them to your project References:
- Within your Silverlight project, right click on the References folder in C# or Open MyProject in VB and select the References tab.
-
For Silverlight V4 applications, add references to the VoiceMarkupKit Silverlight assemblies:
- Program Files\Chant\VoiceMarkupKit 4\Win32\Silverlight\libv4\Chant.VoiceMarkupKit.Silverlight.dll and
- Program Files\Chant\VoiceMarkupKit 4\Win32\Silverlight\libv4\Chant.Shared.Silverlight.dll.
-
For Silverlight V5 applications, add references to the VoiceMarkupKit Silverlight assemblies:
- Program Files\Chant\VoiceMarkupKit 4\Win32\Silverlight\libv5\Chant.VoiceMarkupKit.Silverlight.dll and
- Program Files\Chant\VoiceMarkupKit 4\Win32\Silverlight\libv5\Chant.Shared.Silverlight.dll.
- Within your Silverlight project, right click on the References folder in C# or Open MyProject in VB and select the References tab.
-
For Silverlight V5 applications, add references to the VoiceMarkupKit Silverlight assemblies:
- Program Files\Chant\VoiceMarkupKit 4\Win64\Silverlight\libv5\Chant.VoiceMarkupKit.Silverlight.dll and
- Program Files\Chant\VoiceMarkupKit 4\Win64\Silverlight\libv5\Chant.Shared.Silverlight.dll.
To access the VoiceMarkupKit Silverlight classes within your application, add references to the VoiceMarkupKit assemblies in your code:
using System;
...
using Chant.VoiceMarkupKit.Silverlight;
using Chant.Shared.Silverlight;
Imports Chant.VoiceMarkupKit.Silverlight
Imports Chant.Shared.Silverlight
Class MainWindow
...
Out-of-Browser Settings
To run your Silverlight app out-of-browser, set the properties as follows:
- Within your Silverlight project, select the Silverlight tab under project properties.
- Select the checkbox: Enable application running out of the browser.
- Deselect the checkbox: Require elevated trust when running in-browser.
- Press the Out-of-Browser Settings... button.
- 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:
- Within your Silverlight project, select the Silverlight tab under project properties.
- Select the checkbox: Require elevated trust when running in-browser.
- Deselect the checkbox: Enable application running out of the browser.
- Select the Signing tab under project properties.
- Select the checkbox: Sign the Xap File.
-
Press one of the three buttons to select a signing certificate:
- Select from Store... if you have installed a signing certificate on your system;
- Select from File... if you have a signing certificate file your system; or
- Create test certificate... if you do not have signing certificate on your system.
-
Press the More Details... button to ensure you have installed Trusted Root and Publisher certificiates:
- Press the Install Certificate... button;
- 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;
- Select Trusted Root Certification Authorities and press the OK button; and
- Press the Next button.
- Repeat the process by Pressing the Install Certificate... button;
- Select Place ... option and press the Browse button;
- Select Trusted Publishers and press the OK button; and
- Press the Next button.
-
Run regedit to add a Silverlight registery property AllowElevatedTrustAppsInBrowser with value of 1:
- Select the Start menu and enter regedit to launch the Registry Editor;
- For Win32 systems, navigate to HKEY_LOCAL_MACHINE\Software\Microsoft\Silverlight\;
- For Win64 systems, navigate to HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Silverlight\;
- Right click and select New->DWORD (32-bit) Value;
- Set the value name to AllowElevatedTrustAppsInBrowser;
- Set th value data to 1;
- Press the OK button; and
- Close the Registry Editor.
Object Instantiation
Declare a global variable for the ChantVM class, instantiate an instance, add the event handler, and set the license and serial properties.
private Chant.VoiceMarkupKit.Silverlight.NChantVM NChantVM1;
public MainPage()
{
InitializeComponent();
// Instantiate NChantVM object
NChantVM1 = new NChantVM(this);
// Setup event callback handler
NChantVM1.HasEvent += new Chant.VoiceMarkupKit.Silverlight.NChantVM.HasEventHandler(this.NChantVM1_HasEvent);
// Set license properties
NChantVM1.SetStringProperty(ChantStringProperty.CSPLicense, "LicenseRegistrationNumber");
NChantVM1.SetStringProperty(ChantStringProperty.CSPSerials, "LicenseSerialNumber");
}
Dim WithEvents NChantVM1 As NChantVM
Private Sub UserControl_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
NChantVM1 = New NChantVM(Me)
' Set license properties
NChantVM1.SetStringProperty(ChantStringProperty.CSPLicense, "LicenseRegistrationNumber")
NChantVM1.SetStringProperty(ChantStringProperty.CSPSerials, "LicenseSerialNumber")
...
End Sub
Event Callbacks
Event callbacks are the mechanism in which the component library sends information back to the application such as there was an error.
private void NChantVM1_HasEvent(object sender, HasEventArgs e)
{
// Get the number of events
int numberOfEvents = NChantVM1.GetResourceCount(ChantSpeechResource.CSREvent, 0, 0);
for (int i = 0; i < numberOfEvents; i++)
{
// Get the event from the event queue
NChantVMEvent nChantVMEvent = NChantVM1.GetChantVMEvent(0);
switch (nChantVMEvent.ChantCallback)
{
case ChantCallback.CCAPIError:
{
...
break;
}
default:
break;
}
// Remove the event from the event queue
NChantVM1.RemoveResource(ChantSpeechResource.CSREvent, 0, 0, "");
}
}
Private Sub NChantVM1_HasEvent(ByVal sender As System.Object, ByVal e As HasEventArgs) Handles NChantVM1.HasEvent
Dim I As Integer
Dim numberOfEvents As Integer
Dim nChantVMEvent As NChantVMEvent
' Get the number of events
numberOfEvents = NChantVM1.GetResourceCount(ChantSpeechResource.CSREvent, 0, 0)
For I = 0 To numberOfEvents - 1
' Get the event from the event queue
nChantVMEvent = NChantVM1.GetChantVMEvent(0)
Select Case nChantVMEvent.ChantCallback
Case ChantCallback.CCAPIError
...
End Select
' Remove the event from the event queue
NChantVM1.RemoveResource(ChantSpeechResource.CSREvent, 0, 0, "")
Next
End Sub
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.VoiceMarkupKit.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 NVoiceMarkupKit.dll to the target system.
- Register NVoiceMarkupKit.dll as a COM library on the target system.
- You may deploy your Silverlight application to any system with a valid license from the Chant.
- Copy Chant.VoiceMarkupKit.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 NVoiceMarkupKit.dll to the target system.
- Register NVoiceMarkupKit.dll as a COM library on the target system.
- You may deploy your Silverlight application to any system with a valid license from the Chant.
- Copy Chant.VoiceMarkupKit.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 NVoiceMarkupKitX64.dll to the target system.
- Register NVoiceMarkupKitX64.dll as a COM library on the target system.
Sample Projects
Silverlight sample projects are installed at the following location:
- My Documents\Chant VoiceMarkupKit 4\Win32\Silveright\VS 2010\CSharp and
- My Documents\Chant VoiceMarkupKit 4\Win32\Silveright\VS 2010\Visual Basic.
- My Documents\Chant VoiceMarkupKit 4\Win64\Silveright\VS 2010\CSharp and
- My Documents\Chant VoiceMarkupKit 4\Win64\Silveright\VS 2010\Visual Basic.