August 2004 - Posts

[update 6/2/07]- This info probably still works, but is outdated by Votive, a VS package for WiX.

------------

 

I recently started looking into WiX as a replacement tool to create the install kit for NatLink and Vocola. It's not that I want to make life more difficult, but Visual Studio .Net setup projects don't support features.

WiX of course does.

The problem is that Visual Studio, by default, doesn't recognize .wxs files as XML. The fix for that is the following

1) add to your registry

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\Editors\{C76D83F8-A489-11D0-8195-00A0C91BBEE3}\Extensions]
"wxs"=dword:00000028

2) copy wix.xsd and wixloc.xsd from the WiX/doc directory to

C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Packages\schemas\xml\

and provided you reference the WiX namespace at http://schemas.microsoft.com/wix/2003/01/wi you'll get IntelliSense too.

Posted by swein | 18 comment(s)
Filed under: ,

My first item.

Allow multilanguage assemblies

.net is a multilanguage environment, but Visual Studio doesn't allow developers to take full advantage of this because it doesn't provide any means of producing a single assembly from source code comprised of multiple languages. It's not so much that I want to code in different languages, although that is sometimes the case, but rather I might have existing source code in VB, and sample source in C# and a desire to integrate into a single assembly. The <Assembly:InternalsVisibleTo(...)> attribute goes a long way but single assembly deployments are often preferable.
Posted by swein | 5 comment(s)

Mentioned here, here, and here plans for Longhorn have been delayed. It looks like WinFS and Avalon will be affected the most. I see this as good news, given my interest in getting Longhorn managed speech working on Windows XP the idea of seeing more frequent releases of components of Longhorn is a good thing.

Posted by swein | with no comments
Filed under:

I mentioned yesterday that there is a free evaluation copy of Microsoft Windows XP for AMD 64 processors.

So I downloaded it, burned it to a CD, and rebooted. The first attempt failed because it didn't recognize my S-ATA drive. I powered down, opened up the case, dug out my old 3.5" floppy drive and plugged it in. Rebooted and pressed F6 to load a third-party driver. No luck, so I rebooted again, dropped into the BIOS and enabled the A: drive. Again, no luck, it seems that my floppy drive had died. At this point I was pretty frustrated. I mean I accept that owning a do-it-yourself computer means a little bit more work, but it seems fairly pathetic that the only way to install a third-party driver on a bleeding edge 2004 operating system is to use hardware that was cool back in 1984.

It's great that Microsoft still supports floppy disks drives, but it would be really fantastic if I could load third-party drivers during setup from my external FireWire drive, or from CD, or from my USB keychain hard drive. It's too late for this to be fixed with Windows XP, but with Longhorn there's still a chance.

Posted by swein | 3 comment(s)
Filed under:
I just found out that you can download a free evaluation version of Windows XP Professional x64 Edition Customer Preview

This is a version that will run on the AMD 64 chip. Interesting, this install isn't available through MSDN.

Posted by swein | with no comments
Filed under:

After a bit of investigation and experimentation I believe it’s possible to get most of the Longhorn managed speech API running on Windows XP. The word from Microsoft is that this isn't possible, so it’s certainly unsupported.

Here’s how I did it.  I started with Windows XP SP2 and Longhorn 4074

 

Because I haven’t figured out how to train or configure longhorn speech on WinXP, you’ll need a trained a speech profile on your longhorn box.

 

1)       Copy these directories from your Longhorn PC to WinXP
C:\Documents and Settings\<profile>\Application Data\Microsoft\Speech\Files\UserLexicons
C:\Documents and Settings\<profile>\Local Settings\Application Data\Microsoft\Speech\Files\MSASR
C:\Program Files\Common Files\SpeechEngines\Microsoft\Lexicon70
C:\Program Files\Common Files\SpeechEngines\Microsoft\SR70

2)      Register the .dlls in the SR70 directory

3)      On your WinXP box, make a backup of the files in
C:\Program Files\Common Files\Microsoft Shared\Speech
(note: this may not be strictly necessary, as Windows automatically restored the files on my PC)

4)      Then copy the files from the LH pc

5)      Register the .dlls
if Windows automatically restores the old sapi.dll, copy the Longhorn version to an alternate directory and register it from there

6)      From LH extract the two below registry keys to a .reg file
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Recognizers\Tokens\MS-1033-70-DESK
HKEY_CURRENT_USER\Software\Microsoft\Speech

7)      Remove all the keys from these two entries from the .ref file
HKEY_CURRENT_USER\Software\Microsoft\Speech\AudioInput
HKEY_CURRENT_USER\Software\Microsoft\Speech\AudioOutput

8)      Edit
[HKEY_CURRENT_USER\Software\Microsoft\Speech\RecoProfiles\Tokens\{06AF0E13-0AC0-4276-B714-D047AA3725D4}]
@="Default Speech Profile"

set it so say, “LH Speech Profile”

9)      Merge this .reg file into your WinXP registry

10)  Copy System.Speech.dll from the LH GAC to your XP pc, there’s no need to install it into the WinXP GAC

11)  At this point your speech recognition control panel should look like this:

And you should be able to create a new instance of System.Speech.Recognition.SystemRecognizer

 

Now it’s time for me to actually learn something about grxml files.

 

Posted by swein | 2 comment(s)
More Posts