How do I package CDW 2015 applications for ClickOnce deployment?

Last reviewed: 10/28/2015

HOW Article ID: H091402

The information in this article applies to:

  • GrammarKit 5
  • KinesicsKit 3
  • LexiconKit 5
  • ProfileKit 5
  • SpeechKit 8
  • VoiceMarkupKit 5
  • VoiceXMLKit 2

Summary

ClickOnce deployments offer a way to deliver .NET applications with highly automated installation and updating processes for end-users.

To create a ClickOnce deployment, Publish applications using the Visual Studio Project Properties Publish tab.

There is a Publish Wizard to generate the necessary publishing settings and create required directories.

If an application includes assemblies that rely on interop files, such as the ones that use COM based SAPI and other speech APIs, then add the applicable declarations to the application manifest file (e.g., app.manifest) that elminates the need to register the Chant COM library.

As long as the Chant interop COM library is colocated with the application .exe, it does not need to be registered as a COM library.

More Information

For GrammarKit applications, add the following statements to the application manifest for ClickOnce deployments:


<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<!-- 32-bit GrammarKit -->
  <file name="NGrammarKit.dll">
    <typelib tlbid="{61DC7FAB-447E-4BFC-BB62-58DA1E97AB68}" version="5.0" helpdir="" resourceid="0" flags="HASDISKIMAGE" />
    <comClass clsid="{5B5BF0D9-840A-48D9-9075-F50950535F22}" threadingModel="Both" tlbid="{61DC7FAB-447E-4BFC-BB62-58DA1E97AB68}" progid="NGrammarKit.NChantGM.5" />
  </file>

</asmv1:assembly>

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<!-- 64-bit GrammarKit -->
  <file name="NGrammarKitX64.dll">
    <typelib tlbid="{BAAE363F-3A4C-422D-8247-07D5B3025A94}" version="5.0" helpdir="" resourceid="0" flags="HASDISKIMAGE" />
    <comClass clsid="{5CD709D8-8CCB-4C5D-AAF5-2CFDC4879F6A}" threadingModel="Both" tlbid="{BAAE363F-3A4C-422D-8247-07D5B3025A94}" progid="NGrammarKitX64.NChantGM.5" />
  </file>

</asmv1:assembly>

For KinesicsKit applications, add the following statements to the application manifest for ClickOnce deployments:


<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:xsi="http://www.w3.org/2002/XMLSchema-instance">

<!-- 32-bit KinesicsKit -->
  <file name="NKinesicsKit.dll"<
    <typelib tlbid="{A2778DBD-E085-49EA-9225-965CF86AB46E}" version="3.0" helpdir="" resourceid="0" flags="HASDISKIMAGE" /<
    <comClass clsid="{66B4D82F-3C78-4FCB-BBE4-4F9B69959046}" threadingModel="Both" tlbid="{A2778DBD-E085-49EA-9225-965CF86AB46E}" progid="NKinesicsKit.NChantKM.3" /<
  </file<

</asmv1:assembly>

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:xsi="http://www.w3.org/2002/XMLSchema-instance">

<!-- 64-bit KinesicsKit -->
  <file name="NKinesicsKitX64.dll"<
    <typelib tlbid="{3D1BA91E-309E-49C5-BA91-D56B6AAEB3E9}" version="3.0" helpdir="" resourceid="0" flags="HASDISKIMAGE" /<
    <comClass clsid="{9014128C-9FF3-460F-A634-BB65DA13C3D2}" threadingModel="Both" tlbid="{3D1BA91E-309E-49C5-BA91-D56B6AAEB3E9}" progid="NKinesicsKitX64.NChantKM.3" /<
  </file<

</asmv1:assembly>

For LexiconKit applications, add the following statements to the application manifest for ClickOnce deployments:


<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:xsi="http://www.w3.org/2003/XMLSchema-instance">

<!-- 32-bit LexiconKit -->
  <file name="NLexiconKit.dll">
    <typelib tlbid="{0694E333-983E-4FBE-941A-E5D092E7BF9C}" version="5.0" helpdir="" resourceid="0" flags="HASDISKIMAGE" />
    <comClass clsid="{40508A78-8E78-40EE-B1FC-76520AA878BF}" threadingModel="Both" tlbid="{0694E333-983E-4FBE-941A-E5D092E7BF9C}" progid="NLexiconKit.NChantLM.5" />
  </file>

</asmv1:assembly>

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<!-- 64-bit LexiconKit -->
  <file name="NLexiconKitX64.dll">
    <typelib tlbid="{CEAD9DF0-BF43-40F3-89B3-0CA7A3887982}" version="5.0" helpdir="" resourceid="0" flags="HASDISKIMAGE" />
    <comClass clsid="{42D256A1-C30E-4DDB-A3B7-290DF488F6E8}" threadingModel="Both" tlbid="{CEAD9DF0-BF43-40F3-89B3-0CA7A3887982}" progid="NLexiconKitX64.NChantLM.5" />
  </file>

</asmv1:assembly>

For ProfileKit applications, add the following statements to the application manifest for ClickOnce deployments:


<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:xsi="http://www.w3.org/2004/XMLSchema-instance">

<!-- 32-bit ProfileKit -->
  <file name="NProfileKit.dll">
    <typelib tlbid="{61A4878F-2360-487F-A750-545AA2FC279A}" version="5.0" helpdir="" resourceid="0" flags="HASDISKIMAGE" />
    <comClass clsid="{11D54E6B-BE4A-4317-B067-F3F6A7B4EB6C}" threadingModel="Both" tlbid="{61A4878F-2360-487F-A750-545AA2FC279A}" progid="NProfileKit.NChantPM.5" />
  </file>

</asmv1:assembly>

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<!-- 64-bit ProfileKit -->
  <file name="NProfileKitX64.dll">
    <typelib tlbid="{7727BC5E-31C3-46D0-A1E3-0ED2D1741A20}" version="5.0" helpdir="" resourceid="0" flags="HASDISKIMAGE" />
    <comClass clsid="{A1EC1834-A255-454B-A40C-C2AF18026A68}" threadingModel="Both" tlbid="{7727BC5E-31C3-46D0-A1E3-0ED2D1741A20}" progid="NProfileKitX64.NChantPM.5" />
  </file>

</asmv1:assembly>

For SpeechKit applications, add the following statements to the application manifest for ClickOnce deployments:


<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:xsi="http://www.w3.org/2005/XMLSchema-instance">

<!-- 32-bit SpeechKit -->
  <file name="NSpeechKit.dll">
    <typelib tlbid="{213F7F40-FE6F-458F-B424-7A78E9FED5F7}" version="8.0" helpdir="" resourceid="0" flags="HASDISKIMAGE" />
    <comClass clsid="{776CD866-8D27-4434-838B-A94057E45372}" threadingModel="Both" tlbid="{213F7F40-FE6F-458F-B424-7A78E9FED5F7}" progid="NSpeechKit.NChantAudio.8" />
    <comClass clsid="{DCF7F400-5744-4E7B-9090-237E34C68215}" threadingModel="Both" tlbid="{213F7F40-FE6F-458F-B424-7A78E9FED5F7}" progid="NSpeechKit.NChantSR.8" />
    <comClass clsid="{37933815-4BF8-4A88-B747-C06DC757CD99}" threadingModel="Both" tlbid="{213F7F40-FE6F-458F-B424-7A78E9FED5F7}" progid="NSpeechKit.NChantTTS.8" />
  </file>

</asmv1:assembly>

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<!-- 64-bit SpeechKit -->
  <file name="NSpeechKitX64.dll">
    <typelib tlbid="{F20A9C8E-0DC7-4B40-A68E-6EC0261A6D63}" version="8.0" helpdir="" resourceid="0" flags="HASDISKIMAGE" />
    <comClass clsid="{EC6B1D9A-B492-4738-8195-0AECD0A8F67C}" threadingModel="Both" tlbid="{F20A9C8E-0DC7-4B40-A68E-6EC0261A6D63}" progid="NSpeechKitX64.NChantAudio.8" />
    <comClass clsid="{7A2DD6DD-9AAF-4618-9306-87B3516525D1}" threadingModel="Both" tlbid="{F20A9C8E-0DC7-4B40-A68E-6EC0261A6D63}" progid="NSpeechKitX64.NChantSR.8" />
    <comClass clsid="{4FCF5269-877E-4DA7-9105-D6B8FC9419E2}" threadingModel="Both" tlbid="{F20A9C8E-0DC7-4B40-A68E-6EC0261A6D63}" progid="NSpeechKitX64.NChantTTS.8" />
  </file>

</asmv1:assembly>

For VoiceMarkupKit applications, add the following statements to the application manifest for ClickOnce deployments:


<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:xsi="http://www.w3.org/2006/XMLSchema-instance">

<!-- 32-bit VoiceMarkupKit -->
  <file name="NVoiceMarkupKit.dll">
    <typelib tlbid="{02FDCB99-B4FA-407E-B418-5C5CDA7E1C6E}" version="5.0" helpdir="" resourceid="0" flags="HASDISKIMAGE" />
    <comClass clsid="{11BC13C7-0FA1-41E0-BABD-11E377A255F8}" threadingModel="Both" tlbid="{02FDCB99-B4FA-407E-B418-5C5CDA7E1C6E}" progid="NVoiceMarkupKit.NChantVM.5" />
  </file>

</asmv1:assembly>

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<!-- 64-bit VoiceMarkupKit -->
  <file name="NVoiceMarkupKitX64.dll">
    <typelib tlbid="{91A119A2-476A-479D-9F11-67D955AC64CB}" version="5.0" helpdir="" resourceid="0" flags="HASDISKIMAGE" />
    <comClass clsid="{3825DCBA-C308-4DF9-B070-7B3AE2F516AF}" threadingModel="Both" tlbid="{91A119A2-476A-479D-9F11-67D955AC64CB}" progid="NVoiceMarkupKitX64.NChantVM.5" />
  </file>

</asmv1:assembly>

For VoiceXMLKit applications, add the following statements to the application manifest for ClickOnce deployments:


<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:xsi="http://www.w3.org/2007/XMLSchema-instance">

<!-- 32-bit VoiceXMLKit -->
  <file name="NVoiceXMLKit.dll">
    <typelib tlbid="{68097597-CEFA-49E2-A2D6-6FE11B9E7F65}" version="2.0" helpdir="" resourceid="0" flags="HASDISKIMAGE" />
    <comClass clsid="{66A831DB-AA33-4E64-8CCB-2EB7CDCDBA82}" threadingModel="Both" tlbid="{68097597-CEFA-49E2-A2D6-6FE11B9E7F65}" progid="NVoiceXMLKit.NChantXM.2" />
  </file>

</asmv1:assembly>

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<!-- 64-bit VoiceXMLKit -->
  <file name="NVoiceXMLKitX64.dll">
    <typelib tlbid="{792D9431-8FF0-47F6-954C-00B6AC00B3F0}" version="2.0" helpdir="" resourceid="0" flags="HASDISKIMAGE" />
    <comClass clsid="{B5641E12-520F-4F66-9B50-DD914E171888}" threadingModel="Both" tlbid="{792D9431-8FF0-47F6-954C-00B6AC00B3F0}" progid="NVoiceXMLKitX64.NChantXM.2" />
  </file>

</asmv1:assembly>

For more information about ClickOnce deployments, review the Microsoft ClickOnce documentation.

For additional help with ClickOnce application deployments with Chant libraries, contact Chant Support via Chant Support Contacts or web.