Home All Groups Group Topic Archive Search About

What files should I distribute (SAPI 5.3)?

Author
31 May 2009 1:44 AM
fred
Hello,
My app invokes TTS using SAPI 5.
What files should I distribute?
There is some package I downloaded from MSDN but I do not have idea what to
do with it:
Sp5TTIntXP.Msm

Please advise,
Fred

Author
31 May 2009 2:52 AM
mayayana
> My app invokes TTS using SAPI 5.
> What files should I distribute?
> There is some package I downloaded from MSDN but I do not have idea what
to
> do with it:
> Sp5TTIntXP.Msm
>

  That issue is a pain. As I said before, if you
only need to support XP+ you don't need to install
anything. I don't know about SAPI 5.3, but there's
a 5.1 installer here:

http://products.timehouse.fi/ss_speechserver.asp?con=1

  It's about 10 MB. It can actually be whittled
down to more like 6 MB, but you're on your own
if you want to do it. Microsoft only released the
files as an MSM, which is a Windows Installer
merge module. Windows Installer is a nightmare
with no good tools available for building installations.
So your options are:

1) Take a giant sidetrack to learn how to make an
MSI file for your install.

2) Use something like the linked installer. (I have
no idea about legality there. It seems to be linked
to some product that they're selling. But maybe you
can find a legal 3rd-party TTS installer.)

3) Sort out the requirements for installing the support
files and install them yourself.

If you decide on #3, see here:
www.jsware.net/jsware/msicode.php5

  Download the MSI/MSM HTA extractor utility and see
the extra project files in the download. The story there
is as follows: Several years ago I wanted to install SAPI 5
support on a WinME machine. I discovered that my options
were limited to an MSI or installing the whole SDK. So I
decided to learn how to make an MSI. When I looked into
that I found that the Windows Installer system was a
breathtakingly overproduced mess of gratuitous complexity
and abstruseness. It seemed to me to be entirely unusable,
and certainly not worth spending weeks or months on, just
to install my software! That's how the MSI extractor was
born. I wrote it to extract all files and Registry settings
from an MSI or MSM file, so that I would never have to be
limited or restricted by the monstrosity that is Windows
Installer . The extra files in the download include a tool
that auto-generates a list of files and Registry settings
needed for any specific component in an MSI. The sample
script project to demonstrate that is for the SAPI 5 TTS
support. Those files provide the basic info. needed to build
your own TTS installer.
Author
31 May 2009 11:07 PM
Ed
On Sat, 30 May 2009 22:52:52 -0400, "mayayana" <mayaXXy***@rcXXn.com>
wrote:

>  That issue is a pain. As I said before, if you
>only need to support XP+ you don't need to install
>anything.

Sure about that? When I first ran XP I remember having to install SAPI
4.1 back then otherwise I wouldn't hear any voice.
Author
1 Jun 2009 2:12 AM
mayayana
> >  That issue is a pain. As I said before, if you
> >only need to support XP+ you don't need to install
> >anything.
>
> Sure about that? When I first ran XP I remember having to install SAPI
> 4.1 back then otherwise I wouldn't hear any voice.
>

  Pretty sure. According to this, SAPI 5.1
ships with XP and 5.3 ships with Vista:
http://en.wikipedia.org/wiki/Speech_Application_Programming_Interface

   But SAPI 4 is entirely different. It makes
sense that you'd have to install that on
XP.
Author
1 Jun 2009 5:08 AM
fred
Thnk you very much for your help
Your replies are extremely helpful.
XP+ plus is my most interest so I will put the distribution on the back
burner for now and concentrate on the code.
I appreciate Your help,
Fred

Show quoteHide quote
"mayayana" <mayaXXy***@rcXXn.com> wrote in message
news:uSlU5sZ4JHA.1196@TK2MSFTNGP03.phx.gbl...
>> My app invokes TTS using SAPI 5.
>> What files should I distribute?
>> There is some package I downloaded from MSDN but I do not have idea what
> to
>> do with it:
>> Sp5TTIntXP.Msm
>>
>
>  That issue is a pain. As I said before, if you
> only need to support XP+ you don't need to install
> anything. I don't know about SAPI 5.3, but there's
> a 5.1 installer here:
>
> http://products.timehouse.fi/ss_speechserver.asp?con=1
>
>  It's about 10 MB. It can actually be whittled
> down to more like 6 MB, but you're on your own
> if you want to do it. Microsoft only released the
> files as an MSM, which is a Windows Installer
> merge module. Windows Installer is a nightmare
> with no good tools available for building installations.
> So your options are:
>
> 1) Take a giant sidetrack to learn how to make an
> MSI file for your install.
>
> 2) Use something like the linked installer. (I have
> no idea about legality there. It seems to be linked
> to some product that they're selling. But maybe you
> can find a legal 3rd-party TTS installer.)
>
> 3) Sort out the requirements for installing the support
> files and install them yourself.
>
> If you decide on #3, see here:
> www.jsware.net/jsware/msicode.php5
>
>  Download the MSI/MSM HTA extractor utility and see
> the extra project files in the download. The story there
> is as follows: Several years ago I wanted to install SAPI 5
> support on a WinME machine. I discovered that my options
> were limited to an MSI or installing the whole SDK. So I
> decided to learn how to make an MSI. When I looked into
> that I found that the Windows Installer system was a
> breathtakingly overproduced mess of gratuitous complexity
> and abstruseness. It seemed to me to be entirely unusable,
> and certainly not worth spending weeks or months on, just
> to install my software! That's how the MSI extractor was
> born. I wrote it to extract all files and Registry settings
> from an MSI or MSM file, so that I would never have to be
> limited or restricted by the monstrosity that is Windows
> Installer . The extra files in the download include a tool
> that auto-generates a list of files and Registry settings
> needed for any specific component in an MSI. The sample
> script project to demonstrate that is for the SAPI 5 TTS
> support. Those files provide the basic info. needed to build
> your own TTS installer.
>
>
>
Author
4 Jun 2009 6:28 PM
fred
Do you know some unpacker (viewer) for the installation executable created
by WISE installation program?
Thanks,
Fred

Show quoteHide quote
"fred" <fred@nospamme.com> wrote in message
news:OKWcOcn4JHA.3304@TK2MSFTNGP06.phx.gbl...
> Thnk you very much for your help
> Your replies are extremely helpful.
> XP+ plus is my most interest so I will put the distribution on the back
> burner for now and concentrate on the code.
> I appreciate Your help,
> Fred
>
> "mayayana" <mayaXXy***@rcXXn.com> wrote in message
> news:uSlU5sZ4JHA.1196@TK2MSFTNGP03.phx.gbl...
>>> My app invokes TTS using SAPI 5.
>>> What files should I distribute?
>>> There is some package I downloaded from MSDN but I do not have idea what
>> to
>>> do with it:
>>> Sp5TTIntXP.Msm
>>>
>>
>>  That issue is a pain. As I said before, if you
>> only need to support XP+ you don't need to install
>> anything. I don't know about SAPI 5.3, but there's
>> a 5.1 installer here:
>>
>> http://products.timehouse.fi/ss_speechserver.asp?con=1
>>
>>  It's about 10 MB. It can actually be whittled
>> down to more like 6 MB, but you're on your own
>> if you want to do it. Microsoft only released the
>> files as an MSM, which is a Windows Installer
>> merge module. Windows Installer is a nightmare
>> with no good tools available for building installations.
>> So your options are:
>>
>> 1) Take a giant sidetrack to learn how to make an
>> MSI file for your install.
>>
>> 2) Use something like the linked installer. (I have
>> no idea about legality there. It seems to be linked
>> to some product that they're selling. But maybe you
>> can find a legal 3rd-party TTS installer.)
>>
>> 3) Sort out the requirements for installing the support
>> files and install them yourself.
>>
>> If you decide on #3, see here:
>> www.jsware.net/jsware/msicode.php5
>>
>>  Download the MSI/MSM HTA extractor utility and see
>> the extra project files in the download. The story there
>> is as follows: Several years ago I wanted to install SAPI 5
>> support on a WinME machine. I discovered that my options
>> were limited to an MSI or installing the whole SDK. So I
>> decided to learn how to make an MSI. When I looked into
>> that I found that the Windows Installer system was a
>> breathtakingly overproduced mess of gratuitous complexity
>> and abstruseness. It seemed to me to be entirely unusable,
>> and certainly not worth spending weeks or months on, just
>> to install my software! That's how the MSI extractor was
>> born. I wrote it to extract all files and Registry settings
>> from an MSI or MSM file, so that I would never have to be
>> limited or restricted by the monstrosity that is Windows
>> Installer . The extra files in the download include a tool
>> that auto-generates a list of files and Registry settings
>> needed for any specific component in an MSI. The sample
>> script project to demonstrate that is for the SAPI 5 TTS
>> support. Those files provide the basic info. needed to build
>> your own TTS installer.
>>
>>
>>
>
>
Author
4 Jun 2009 6:59 PM
fred
I found hwun.exe. heuristic unpacker but it does not unpack for me.
Fred

Show quoteHide quote
"fred" <fred@nospamme.com> wrote in message
news:%23e40HJU5JHA.1812@TK2MSFTNGP05.phx.gbl...
> Do you know some unpacker (viewer) for the installation executable created
> by WISE installation program?
> Thanks,
> Fred
>
> "fred" <fred@nospamme.com> wrote in message
> news:OKWcOcn4JHA.3304@TK2MSFTNGP06.phx.gbl...
>> Thnk you very much for your help
>> Your replies are extremely helpful.
>> XP+ plus is my most interest so I will put the distribution on the back
>> burner for now and concentrate on the code.
>> I appreciate Your help,
>> Fred
>>
>> "mayayana" <mayaXXy***@rcXXn.com> wrote in message
>> news:uSlU5sZ4JHA.1196@TK2MSFTNGP03.phx.gbl...
>>>> My app invokes TTS using SAPI 5.
>>>> What files should I distribute?
>>>> There is some package I downloaded from MSDN but I do not have idea
>>>> what
>>> to
>>>> do with it:
>>>> Sp5TTIntXP.Msm
>>>>
>>>
>>>  That issue is a pain. As I said before, if you
>>> only need to support XP+ you don't need to install
>>> anything. I don't know about SAPI 5.3, but there's
>>> a 5.1 installer here:
>>>
>>> http://products.timehouse.fi/ss_speechserver.asp?con=1
>>>
>>>  It's about 10 MB. It can actually be whittled
>>> down to more like 6 MB, but you're on your own
>>> if you want to do it. Microsoft only released the
>>> files as an MSM, which is a Windows Installer
>>> merge module. Windows Installer is a nightmare
>>> with no good tools available for building installations.
>>> So your options are:
>>>
>>> 1) Take a giant sidetrack to learn how to make an
>>> MSI file for your install.
>>>
>>> 2) Use something like the linked installer. (I have
>>> no idea about legality there. It seems to be linked
>>> to some product that they're selling. But maybe you
>>> can find a legal 3rd-party TTS installer.)
>>>
>>> 3) Sort out the requirements for installing the support
>>> files and install them yourself.
>>>
>>> If you decide on #3, see here:
>>> www.jsware.net/jsware/msicode.php5
>>>
>>>  Download the MSI/MSM HTA extractor utility and see
>>> the extra project files in the download. The story there
>>> is as follows: Several years ago I wanted to install SAPI 5
>>> support on a WinME machine. I discovered that my options
>>> were limited to an MSI or installing the whole SDK. So I
>>> decided to learn how to make an MSI. When I looked into
>>> that I found that the Windows Installer system was a
>>> breathtakingly overproduced mess of gratuitous complexity
>>> and abstruseness. It seemed to me to be entirely unusable,
>>> and certainly not worth spending weeks or months on, just
>>> to install my software! That's how the MSI extractor was
>>> born. I wrote it to extract all files and Registry settings
>>> from an MSI or MSM file, so that I would never have to be
>>> limited or restricted by the monstrosity that is Windows
>>> Installer . The extra files in the download include a tool
>>> that auto-generates a list of files and Registry settings
>>> needed for any specific component in an MSI. The sample
>>> script project to demonstrate that is for the SAPI 5 TTS
>>> support. Those files provide the basic info. needed to build
>>> your own TTS installer.
>>>
>>>
>>>
>>
>>
>
>
Author
4 Jun 2009 5:36 PM
fred
I am studying your unpacker now.
Nicely done, but I need to learn more to understand it.
And of course more questions pop up :)
1.
Why the samples are written in w.script?
Can I use vbasic or it must be w.script?
2.
What are these  CLSID numbers?
Are they always the same?
Thanks,
Fred


Show quoteHide quote
"mayayana" <mayaXXy***@rcXXn.com> wrote in message
news:uSlU5sZ4JHA.1196@TK2MSFTNGP03.phx.gbl...
>> My app invokes TTS using SAPI 5.
>> What files should I distribute?
>> There is some package I downloaded from MSDN but I do not have idea what
> to
>> do with it:
>> Sp5TTIntXP.Msm
>>
>
>  That issue is a pain. As I said before, if you
> only need to support XP+ you don't need to install
> anything. I don't know about SAPI 5.3, but there's
> a 5.1 installer here:
>
> http://products.timehouse.fi/ss_speechserver.asp?con=1
>
>  It's about 10 MB. It can actually be whittled
> down to more like 6 MB, but you're on your own
> if you want to do it. Microsoft only released the
> files as an MSM, which is a Windows Installer
> merge module. Windows Installer is a nightmare
> with no good tools available for building installations.
> So your options are:
>
> 1) Take a giant sidetrack to learn how to make an
> MSI file for your install.
>
> 2) Use something like the linked installer. (I have
> no idea about legality there. It seems to be linked
> to some product that they're selling. But maybe you
> can find a legal 3rd-party TTS installer.)
>
> 3) Sort out the requirements for installing the support
> files and install them yourself.
>
> If you decide on #3, see here:
> www.jsware.net/jsware/msicode.php5
>
>  Download the MSI/MSM HTA extractor utility and see
> the extra project files in the download. The story there
> is as follows: Several years ago I wanted to install SAPI 5
> support on a WinME machine. I discovered that my options
> were limited to an MSI or installing the whole SDK. So I
> decided to learn how to make an MSI. When I looked into
> that I found that the Windows Installer system was a
> breathtakingly overproduced mess of gratuitous complexity
> and abstruseness. It seemed to me to be entirely unusable,
> and certainly not worth spending weeks or months on, just
> to install my software! That's how the MSI extractor was
> born. I wrote it to extract all files and Registry settings
> from an MSI or MSM file, so that I would never have to be
> limited or restricted by the monstrosity that is Windows
> Installer . The extra files in the download include a tool
> that auto-generates a list of files and Registry settings
> needed for any specific component in an MSI. The sample
> script project to demonstrate that is for the SAPI 5 TTS
> support. Those files provide the basic info. needed to build
> your own TTS installer.
>
>
>
Author
5 Jun 2009 1:03 AM
mayayana
On the Wise installer... I don't know.
I haven't seen that. There's Universal
Extractor, which is somewhat handy, but
it's really just a front-end for a collection
of different unpackers. I'm not sure whether
Wise is one of the unpackables.
   There used to be an unpacker here, but I
haven't checked for some time:
http://www-user.tu-cottbus.de/~kannegv

   The other link I posted above, for a 3rd-party
TTS installer, is an InstallShield package with an
MSI inside. (It's amazing how often wrap an MSI
in a superfluous EXE installer.) The Wise package
could be the same. If so you should be able to get
the MSI by starting the install, leaving it at the
opening window, then fishing the MSI from the
TEMP folder. (But of course that just brings you
back to square 1. :)

> I am studying your unpacker now.
> Nicely done, but I need to learn more to understand it.

There's more info. in the help file for the unpacker
itself. The functionality is a bit spread around
because the sheer volume of Registry data can often
be too much to list in the unpacker.

> And of course more questions pop up :)
> 1.
> Why the samples are written in w.script?
> Can I use vbasic or it must be w.script?

  Yes. No problem there. It's all powered by the
WindowsInstaller.Installer object. I just used script
because it was easier than writing a VB program,
and if I remember correctly, the WindowsInstaller.Installer
object is late-bound only. If you use VB it can be done
faster. Since I used script I used the FileSystemObject
to move and copy files, and to write the CAB to disk.
FSO is notoriously slow. On large MSIs like a several
hundred MB SDK it can take 20-30 minutes to unpack.
(Most things unpack in a few seconds, though.)

  Also, at the same webpage I have a script-based
MSI class that provides basic MSI functions, translating
the syntactically tedious SQL calls into simple API
calls. If, like me, you dislike building SQL strings then
you might find that useful -- whether you go with VBS
or VB.

> 2.
> What are these  CLSID numbers?

> Are they always the same?  No.

  In most installers the COM objects get registered when
installed. With MSIs there are general Registry settings
and also COM settings. It seems to do all of the
Registration settings "manually" rather than having something
like RegSvr do it. So what you're seeing is the reconstituted
Registry settings from the MSI, the bulk of which are COM
registration settings. If you look at the pattern of the lines
in InstallTTS1.vbs.txt and InstallTTS2.vbs.txt you'll see
that it's registering a large number of classes/objects. Each
class typically has keys like:
HKCR\[classname]\
HKCR\CLSID\[GUID]\
   HKCR\CLSID\[GUID]\InProcServer32\
   HKCR\CLSID\[GUID]\TypeLib\
   etc.
HKCR\Typelib\[GUID]\  .....etc.

  Each class has usually has a ProgID (HKCR\[classname]\).
and a CLSID (GUID). Then the typelib entry for that class
has a GUID.  It adds up. :) You might be able to just call
RegSvr on the COM DLLs and limit your Registry fiddling to
the basic settings like the voice config. settings in
HKEY_LOCAL_MACHINE\Software\Microsoft\Speech\
I haven't tried that.
Author
5 Jun 2009 6:49 AM
fred
Thank you very much for your help.
I managed (almost) to do all what I wanted.
The last question remaining is:
Is it possible after unpacking msi file to edit it and to create msi file
again?
How to proceed with that problem?
Thanks,
Fred

Show quoteHide quote
"mayayana" <mayaXXy***@rcXXn.com> wrote in message
news:OyhbKnX5JHA.2232@TK2MSFTNGP05.phx.gbl...
>  On the Wise installer... I don't know.
> I haven't seen that. There's Universal
> Extractor, which is somewhat handy, but
> it's really just a front-end for a collection
> of different unpackers. I'm not sure whether
> Wise is one of the unpackables.
>   There used to be an unpacker here, but I
> haven't checked for some time:
> http://www-user.tu-cottbus.de/~kannegv
>
>   The other link I posted above, for a 3rd-party
> TTS installer, is an InstallShield package with an
> MSI inside. (It's amazing how often wrap an MSI
> in a superfluous EXE installer.) The Wise package
> could be the same. If so you should be able to get
> the MSI by starting the install, leaving it at the
> opening window, then fishing the MSI from the
> TEMP folder. (But of course that just brings you
> back to square 1. :)
>
>> I am studying your unpacker now.
>> Nicely done, but I need to learn more to understand it.
>
> There's more info. in the help file for the unpacker
> itself. The functionality is a bit spread around
> because the sheer volume of Registry data can often
> be too much to list in the unpacker.
>
>> And of course more questions pop up :)
>> 1.
>> Why the samples are written in w.script?
>> Can I use vbasic or it must be w.script?
>
>  Yes. No problem there. It's all powered by the
> WindowsInstaller.Installer object. I just used script
> because it was easier than writing a VB program,
> and if I remember correctly, the WindowsInstaller.Installer
> object is late-bound only. If you use VB it can be done
> faster. Since I used script I used the FileSystemObject
> to move and copy files, and to write the CAB to disk.
> FSO is notoriously slow. On large MSIs like a several
> hundred MB SDK it can take 20-30 minutes to unpack.
> (Most things unpack in a few seconds, though.)
>
>  Also, at the same webpage I have a script-based
> MSI class that provides basic MSI functions, translating
> the syntactically tedious SQL calls into simple API
> calls. If, like me, you dislike building SQL strings then
> you might find that useful -- whether you go with VBS
> or VB.
>
>> 2.
>> What are these  CLSID numbers?
>
>> Are they always the same?  No.
>
>  In most installers the COM objects get registered when
> installed. With MSIs there are general Registry settings
> and also COM settings. It seems to do all of the
> Registration settings "manually" rather than having something
> like RegSvr do it. So what you're seeing is the reconstituted
> Registry settings from the MSI, the bulk of which are COM
> registration settings. If you look at the pattern of the lines
> in InstallTTS1.vbs.txt and InstallTTS2.vbs.txt you'll see
> that it's registering a large number of classes/objects. Each
> class typically has keys like:
> HKCR\[classname]\
> HKCR\CLSID\[GUID]\
>   HKCR\CLSID\[GUID]\InProcServer32\
>   HKCR\CLSID\[GUID]\TypeLib\
>   etc.
> HKCR\Typelib\[GUID]\  .....etc.
>
>  Each class has usually has a ProgID (HKCR\[classname]\).
> and a CLSID (GUID). Then the typelib entry for that class
> has a GUID.  It adds up. :) You might be able to just call
> RegSvr on the COM DLLs and limit your Registry fiddling to
> the basic settings like the voice config. settings in
> HKEY_LOCAL_MACHINE\Software\Microsoft\Speech\
> I haven't tried that.
>
>
>
>
>
>
>
Author
5 Jun 2009 1:08 PM
mayayana
> Is it possible after unpacking msi file to edit it
> and to create msi file
> again?
> How to proceed with that problem?

  That gets back to the original issue: You can
use an MSI to install but they're very complex
and tedious, with no good tools available.
....But you can do it if you want to. An MSI is
actually a minimal-functionality SQL database,
with the actual program CAB usually stored as
a byte stream in one of the database tables.
The MSI is entirely accessible through
WindowsInstaller.Installer. You can change
anything you like. You can also create a new
MSI blank file and start from scratch. (There's
a sample of that at my website, where I used an
MSI to create a zipcode/city reference utility, using
an MSI file as a database and using Windows
Installer for the functionality.)

   For editors, there's Orca from Microsoft, but they
no longer have a public download for that. You have
to get the whole Win32 SDK. There's also an editor
at my site, in the form of an HTA, that's roughly the
same thing as Orca. And the editor that Nobody
linked -- InstEdit -- looks like it might be usable.
(That one's NT-only and I'm on Win98, so I haven't
tried it.)

   The most popular tool other than Wise and I.S.
wrappers seems to be the open source Wix. I've
downloaded that a couple of times and never
managed to make sense of it. :) Presumably it works,
but it doesn't seem to have any civilized amenities,
like a GUI.

   If you go with an MSI you could also download
the MSMs and go that route, "merging" the MSMs
into you installer. SAPI5 seems to be an unusual
case, though. While MSI components are supposed
to be clearly delineated within an install, the SAPI5
components seem to overlap. And Microsoft's way seems
to involve shipping unnecessary files with the TTS.
(I think the Chinese language files go with it by default!)
Which highlights one of the many problems with MSIs:
In many cases it's difficult for even the programmer
himself/herself to know what's being shipped!

   I guess there's a question, too, about "copyright"
with the MSI you have. (I don't know how someone can
copyright an installer built to MS specs, but some
people seem to think they can copyright anything.)
When you think about it, if you change the name in
the Summary Information then the MSI you have is
probably identical to the one you will build. So....
Author
7 Jun 2009 4:34 AM
fred
I run into strange problem.
I used universal extractor and extracted the files.
The setup executable was created by inno setup.
The main file to run is .msi file.
However when trying to run that file alone it only flashes and disapears.
When trying to run it from within the original inno script file there is an
error:
"Unable to execute file: ...
CreateProcess failed; code 193
%1 is not a valid Win32 application.
"
But, when I start the original executable the installation runs fine.
What can be wrong?
Thanks,
Fred

Show quoteHide quote
"mayayana" <mayaXXy***@rcXXn.com> wrote in message
news:uiLuN8d5JHA.4184@TK2MSFTNGP02.phx.gbl...
>> Is it possible after unpacking msi file to edit it
>> and to create msi file
>> again?
>> How to proceed with that problem?
>
>  That gets back to the original issue: You can
> use an MSI to install but they're very complex
> and tedious, with no good tools available.
> ...But you can do it if you want to. An MSI is
> actually a minimal-functionality SQL database,
> with the actual program CAB usually stored as
> a byte stream in one of the database tables.
> The MSI is entirely accessible through
> WindowsInstaller.Installer. You can change
> anything you like. You can also create a new
> MSI blank file and start from scratch. (There's
> a sample of that at my website, where I used an
> MSI to create a zipcode/city reference utility, using
> an MSI file as a database and using Windows
> Installer for the functionality.)
>
>   For editors, there's Orca from Microsoft, but they
> no longer have a public download for that. You have
> to get the whole Win32 SDK. There's also an editor
> at my site, in the form of an HTA, that's roughly the
> same thing as Orca. And the editor that Nobody
> linked -- InstEdit -- looks like it might be usable.
> (That one's NT-only and I'm on Win98, so I haven't
> tried it.)
>
>   The most popular tool other than Wise and I.S.
> wrappers seems to be the open source Wix. I've
> downloaded that a couple of times and never
> managed to make sense of it. :) Presumably it works,
> but it doesn't seem to have any civilized amenities,
> like a GUI.
>
>   If you go with an MSI you could also download
> the MSMs and go that route, "merging" the MSMs
> into you installer. SAPI5 seems to be an unusual
> case, though. While MSI components are supposed
> to be clearly delineated within an install, the SAPI5
> components seem to overlap. And Microsoft's way seems
> to involve shipping unnecessary files with the TTS.
> (I think the Chinese language files go with it by default!)
> Which highlights one of the many problems with MSIs:
> In many cases it's difficult for even the programmer
> himself/herself to know what's being shipped!
>
>   I guess there's a question, too, about "copyright"
> with the MSI you have. (I don't know how someone can
> copyright an installer built to MS specs, but some
> people seem to think they can copyright anything.)
> When you think about it, if you change the name in
> the Summary Information then the MSI you have is
> probably identical to the one you will build. So....
>
>
Author
7 Jun 2009 3:01 PM
mayayana
Sorry, but I don't understand what you're
talking about. I'm not familiar with Inno.
The MSI is inside an Inno EXE? What does
it mean to "run it from within the original
Inno script file? Or are you talking about
trouble with your own setup, done with Inno?

  Offhand it sounds like you...or Inno...or
someone... is trying to shell the MSI when
you need to be calling msiexec with a command
line if you want to install the MSI programmatically.

Show quoteHide quote
> I run into strange problem.
> I used universal extractor and extracted the files.
> The setup executable was created by inno setup.
> The main file to run is .msi file.
> However when trying to run that file alone it only flashes and disapears.
> When trying to run it from within the original inno script file there is
an
> error:
> "Unable to execute file: ...
> CreateProcess failed; code 193
> %1 is not a valid Win32 application.
> "
> But, when I start the original executable the installation runs fine.
> What can be wrong?
> Thanks,
> Fred
>
> "mayayana" <mayaXXy***@rcXXn.com> wrote in message
> news:uiLuN8d5JHA.4184@TK2MSFTNGP02.phx.gbl...
> >> Is it possible after unpacking msi file to edit it
> >> and to create msi file
> >> again?
> >> How to proceed with that problem?
> >
> >  That gets back to the original issue: You can
> > use an MSI to install but they're very complex
> > and tedious, with no good tools available.
> > ...But you can do it if you want to. An MSI is
> > actually a minimal-functionality SQL database,
> > with the actual program CAB usually stored as
> > a byte stream in one of the database tables.
> > The MSI is entirely accessible through
> > WindowsInstaller.Installer. You can change
> > anything you like. You can also create a new
> > MSI blank file and start from scratch. (There's
> > a sample of that at my website, where I used an
> > MSI to create a zipcode/city reference utility, using
> > an MSI file as a database and using Windows
> > Installer for the functionality.)
> >
> >   For editors, there's Orca from Microsoft, but they
> > no longer have a public download for that. You have
> > to get the whole Win32 SDK. There's also an editor
> > at my site, in the form of an HTA, that's roughly the
> > same thing as Orca. And the editor that Nobody
> > linked -- InstEdit -- looks like it might be usable.
> > (That one's NT-only and I'm on Win98, so I haven't
> > tried it.)
> >
> >   The most popular tool other than Wise and I.S.
> > wrappers seems to be the open source Wix. I've
> > downloaded that a couple of times and never
> > managed to make sense of it. :) Presumably it works,
> > but it doesn't seem to have any civilized amenities,
> > like a GUI.
> >
> >   If you go with an MSI you could also download
> > the MSMs and go that route, "merging" the MSMs
> > into you installer. SAPI5 seems to be an unusual
> > case, though. While MSI components are supposed
> > to be clearly delineated within an install, the SAPI5
> > components seem to overlap. And Microsoft's way seems
> > to involve shipping unnecessary files with the TTS.
> > (I think the Chinese language files go with it by default!)
> > Which highlights one of the many problems with MSIs:
> > In many cases it's difficult for even the programmer
> > himself/herself to know what's being shipped!
> >
> >   I guess there's a question, too, about "copyright"
> > with the MSI you have. (I don't know how someone can
> > copyright an installer built to MS specs, but some
> > people seem to think they can copyright anything.)
> > When you think about it, if you change the name in
> > the Summary Information then the MSI you have is
> > probably identical to the one you will build. So....
> >
> >
>
>
Author
7 Jun 2009 4:22 PM
fred
Inno setup is a quite good installation program (open source).
It allows you to create script and then compiler changes the script into
executable.
One of the commands used by inno script is Run command, and it executes the
embedded file whether it is .exe or msi file.

The problem I encountered is that extracted msi file from that inno setup
will not run on its own, but it will run only with the original inno
executable.
I am using Inno setup myself so I know how it works.
Even, if I create my own inno executable (using the same script as the other
party used) the program will not run (.msi refuses to run).
I know nothing about .msi files, but it lookes to me that the msi file was
modified somehow not to be run on its own but until some conditions are
met..
Where to look inside msi file to find such conditions?
Thanks,
Fred



Show quoteHide quote
"mayayana" <mayaXXy***@rcXXn.com> wrote in message
news:%23HVB5E45JHA.4332@TK2MSFTNGP06.phx.gbl...
> Sorry, but I don't understand what you're
> talking about. I'm not familiar with Inno.
> The MSI is inside an Inno EXE? What does
> it mean to "run it from within the original
> Inno script file? Or are you talking about
> trouble with your own setup, done with Inno?
>
>  Offhand it sounds like you...or Inno...or
> someone... is trying to shell the MSI when
> you need to be calling msiexec with a command
> line if you want to install the MSI programmatically.
>
>> I run into strange problem.
>> I used universal extractor and extracted the files.
>> The setup executable was created by inno setup.
>> The main file to run is .msi file.
>> However when trying to run that file alone it only flashes and disapears.
>> When trying to run it from within the original inno script file there is
> an
>> error:
>> "Unable to execute file: ...
>> CreateProcess failed; code 193
>> %1 is not a valid Win32 application.
>> "
>> But, when I start the original executable the installation runs fine.
>> What can be wrong?
>> Thanks,
>> Fred
>>
>> "mayayana" <mayaXXy***@rcXXn.com> wrote in message
>> news:uiLuN8d5JHA.4184@TK2MSFTNGP02.phx.gbl...
>> >> Is it possible after unpacking msi file to edit it
>> >> and to create msi file
>> >> again?
>> >> How to proceed with that problem?
>> >
>> >  That gets back to the original issue: You can
>> > use an MSI to install but they're very complex
>> > and tedious, with no good tools available.
>> > ...But you can do it if you want to. An MSI is
>> > actually a minimal-functionality SQL database,
>> > with the actual program CAB usually stored as
>> > a byte stream in one of the database tables.
>> > The MSI is entirely accessible through
>> > WindowsInstaller.Installer. You can change
>> > anything you like. You can also create a new
>> > MSI blank file and start from scratch. (There's
>> > a sample of that at my website, where I used an
>> > MSI to create a zipcode/city reference utility, using
>> > an MSI file as a database and using Windows
>> > Installer for the functionality.)
>> >
>> >   For editors, there's Orca from Microsoft, but they
>> > no longer have a public download for that. You have
>> > to get the whole Win32 SDK. There's also an editor
>> > at my site, in the form of an HTA, that's roughly the
>> > same thing as Orca. And the editor that Nobody
>> > linked -- InstEdit -- looks like it might be usable.
>> > (That one's NT-only and I'm on Win98, so I haven't
>> > tried it.)
>> >
>> >   The most popular tool other than Wise and I.S.
>> > wrappers seems to be the open source Wix. I've
>> > downloaded that a couple of times and never
>> > managed to make sense of it. :) Presumably it works,
>> > but it doesn't seem to have any civilized amenities,
>> > like a GUI.
>> >
>> >   If you go with an MSI you could also download
>> > the MSMs and go that route, "merging" the MSMs
>> > into you installer. SAPI5 seems to be an unusual
>> > case, though. While MSI components are supposed
>> > to be clearly delineated within an install, the SAPI5
>> > components seem to overlap. And Microsoft's way seems
>> > to involve shipping unnecessary files with the TTS.
>> > (I think the Chinese language files go with it by default!)
>> > Which highlights one of the many problems with MSIs:
>> > In many cases it's difficult for even the programmer
>> > himself/herself to know what's being shipped!
>> >
>> >   I guess there's a question, too, about "copyright"
>> > with the MSI you have. (I don't know how someone can
>> > copyright an installer built to MS specs, but some
>> > people seem to think they can copyright anything.)
>> > When you think about it, if you change the name in
>> > the Summary Information then the MSI you have is
>> > probably identical to the one you will build. So....
>> >
>> >
>>
>>
>
>
Author
1 Jun 2009 2:32 AM
Randem
Run your vbp thru this to see if this can give you a clue to what to
distribute http://www.randem.com/innoscript.html

What installer are you using?

--
Randem Systems
Your Installation Specialist
The Top Inno Setup Script Generator
http://www.randem.com/innoscript.html
Disk Read Error Press Ctl+Alt+Del to Restart
http://www.randem.com/discus/messages/9402/9406.html?1236319938



Show quoteHide quote
"fred" <fred@nospamme.com> wrote in message
news:OrdboFZ4JHA.1424@TK2MSFTNGP02.phx.gbl...
> Hello,
> My app invokes TTS using SAPI 5.
> What files should I distribute?
> There is some package I downloaded from MSDN but I do not have idea what
> to do with it:
> Sp5TTIntXP.Msm
>
> Please advise,
> Fred
>
Author
1 Jun 2009 3:17 AM
mayayana
> Run your vbp thru this to see if this can give you a clue to what to
> distribute http://www.randem.com/innoscript.html
>

  The VBP will list sapi.dll, with no dependencies.
But that's not much help. To install TTS for SAPI 5
it's also necessary to ship the related files. It's not
just a simple matter of dependencies. This is the list
for an English install:

CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\spttseng.dll
CommonFilesFolder\SpeechEngines\Microsoft\Lexicon\1033\ltts1033.lxa
CommonFilesFolder\SpeechEngines\Microsoft\Lexicon\1033\r1033tts.lxa
CommonFilesFolder\SpeechEngines\Microsoft\spcommon.dll
CommonFilesFolder\Microsoft Shared\Speech\sapi.dll
CommonFilesFolder\Microsoft Shared\Speech\sapisvr.exe
WindowsFolder\Help\speech.chm
WindowsFolder\Help\sapicpl.hlp
CommonFilesFolder\Microsoft Shared\Speech\1033\spcplui.dll
CommonFilesFolder\Microsoft Shared\Speech\sapi.cpl
CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mary.SDF
CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Sam.SPD
CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mary.SPD
CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mike.SDF
CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mike.SPD
CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Sam.SDF

  Then there are also quite a few Registry settings
that go with that.

> What installer are you using?

  If you read the thread you'll see that that's
the issue in question. :) MS only officially provides
merge modules for Windows Installer MSIs, with
no other documented means to distribute the
necessary files.
Author
1 Jun 2009 5:12 AM
fred
I have aready tried that.
I copied manually all that file as you  listed plus I changed this registry:
However, I was unable to enumerate Mary and Mike voices.
What else should I do?
The registry change is shown below:
================
Windows Registry Editor Version 5.00

[HKEY_USERS\S-1-5-21-1935655697-492894223-854245398-1003\Software\Microsoft\Installer\Products\2C4060A3A708BD11D88F0005D85D6B9B]
"ProductName"="Microsoft Mike and Mary TTS Engines 5.1"
"PackageCode"="2C4060A3A708BD11D88F0005D85D6B9B"
"Language"=dword:00000409
"Version"=dword:01000000
"Assignment"=dword:00000000
"AdvertiseFlags"=dword:00000184
"InstanceType"=dword:00000000
"AuthorizedLUAApp"=dword:00000000
"Clients"=hex(7):3a,00,00,00,00,00

[HKEY_USERS\S-1-5-21-1935655697-492894223-854245398-1003\Software\Microsoft\Installer\Products\2C4060A3A708BD11D88F0005D85D6B9B\SourceList]
"PackageName"="SpeechXP.msi"
"LastUsedSource"=hex(2):6e,00,3b,00,31,00,3b,00,43,00,3a,00,5c,00,44,00,4f,00,\
  43,00,55,00,4d,00,45,00,7e,00,31,00,5c,00,4a,00,61,00,63,00,65,00,6b,00,5c,\
  00,4c,00,4f,00,43,00,41,00,4c,00,53,00,7e,00,31,00,5c,00,54,00,65,00,6d,00,\
  70,00,5c,00,69,00,73,00,2d,00,50,00,4f,00,56,00,4f,00,33,00,2e,00,74,00,6d,\
  00,70,00,5c,00,00,00

[HKEY_USERS\S-1-5-21-1935655697-492894223-854245398-1003\Software\Microsoft\Installer\Products\2C4060A3A708BD11D88F0005D85D6B9B\SourceList\Media]
"DiskPrompt"="Microsoft Mike and Mary TTS Engines 5.1: [1]"
"1"="DISK_1;1"

[HKEY_USERS\S-1-5-21-1935655697-492894223-854245398-1003\Software\Microsoft\Installer\Products\2C4060A3A708BD11D88F0005D85D6B9B\SourceList\Net]
"1"=hex(2):43,00,3a,00,5c,00,44,00,4f,00,43,00,55,00,4d,00,45,00,7e,00,31,00,\
  5c,00,4a,00,61,00,63,00,65,00,6b,00,5c,00,4c,00,4f,00,43,00,41,00,4c,00,53,\
  00,7e,00,31,00,5c,00,54,00,65,00,6d,00,70,00,5c,00,69,00,73,00,2d,00,50,00,\
  4f,00,56,00,4f,00,33,00,2e,00,74,00,6d,00,70,00,5c,00,00,00


================
Thanks,
Fred

Show quoteHide quote
"mayayana" <mayaXXy***@rcXXn.com> wrote in message
news:ejaxdfm4JHA.140@TK2MSFTNGP03.phx.gbl...
>
>> Run your vbp thru this to see if this can give you a clue to what to
>> distribute http://www.randem.com/innoscript.html
>>
>
>  The VBP will list sapi.dll, with no dependencies.
> But that's not much help. To install TTS for SAPI 5
> it's also necessary to ship the related files. It's not
> just a simple matter of dependencies. This is the list
> for an English install:
>
> CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\spttseng.dll
> CommonFilesFolder\SpeechEngines\Microsoft\Lexicon\1033\ltts1033.lxa
> CommonFilesFolder\SpeechEngines\Microsoft\Lexicon\1033\r1033tts.lxa
> CommonFilesFolder\SpeechEngines\Microsoft\spcommon.dll
> CommonFilesFolder\Microsoft Shared\Speech\sapi.dll
> CommonFilesFolder\Microsoft Shared\Speech\sapisvr.exe
> WindowsFolder\Help\speech.chm
> WindowsFolder\Help\sapicpl.hlp
> CommonFilesFolder\Microsoft Shared\Speech\1033\spcplui.dll
> CommonFilesFolder\Microsoft Shared\Speech\sapi.cpl
> CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mary.SDF
> CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Sam.SPD
> CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mary.SPD
> CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mike.SDF
> CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mike.SPD
> CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Sam.SDF
>
>  Then there are also quite a few Registry settings
> that go with that.
>
>> What installer are you using?
>
>  If you read the thread you'll see that that's
> the issue in question. :) MS only officially provides
> merge modules for Windows Installer MSIs, with
> no other documented means to distribute the
> necessary files.
>
>
Author
1 Jun 2009 1:45 PM
mayayana
> I have aready tried that.
> I copied manually all that file as you  listed plus I changed this
registry:
> However, I was unable to enumerate Mary and Mike voices.
> What else should I do?

  I don't understand what you did there. Are you
creating dummy MSI settings in the Registry to
simulate an MSI install? If so, that's not necessary
and won't have any effect. The files don't *have*
to be installed via an MSI inherently. That's just the
way Microsoft has presented it.

   If you used an MSI it would install the files plus
a large number of Registry settings. A lot of the
settings are COM registration. Part of the package is
also a Control Panel .cpl for speech. What you seem to
be doing is just copying over the files and adding a
dummy MSI install listing. But that measns the COM
files are not registered.

   In the MSI Unpacker
download I linked earlier there's a folder named "TTS
Sample". It shows how the included scripts can auto-
generate a VBScript installer from a given MSI component.

   The TTS Sample files are such an installer. (With the
..vbs files renamed to .txt to prevent someone from
accidentally running them while exploring the download.)
Those files should give you the actual Registry settings
needed. It might take some experimenting, though. When
I created that package I needed to install SAPI5 TTS on
a single WinME box. It seemed to work OK. But I never
spent the time to turn the script utilities into a time-tested
tool. (I never ran into another occasion where I needed
to install something that was only available in MSMs.)

(The files in the Extra Ops folder are the scripts that
were created to auto-generate the install scripts.)


> The registry change is shown below:
> ================
> Windows Registry Editor Version 5.00
>
>
[HKEY_USERS\S-1-5-21-1935655697-492894223-854245398-1003\Software\Microsoft\
Installer\Products\2C4060A3A708BD11D88F0005D85D6B9B]
> "ProductName"="Microsoft Mike and Mary TTS Engines 5.1"
> "PackageCode"="2C4060A3A708BD11D88F0005D85D6B9B"
> "Language"=dword:00000409
> "Version"=dword:01000000
> "Assignment"=dword:00000000
> "AdvertiseFlags"=dword:00000184
> "InstanceType"=dword:00000000
> "AuthorizedLUAApp"=dword:00000000
> "Clients"=hex(7):3a,00,00,00,00,00
>
>
[HKEY_USERS\S-1-5-21-1935655697-492894223-854245398-1003\Software\Microsoft\
Installer\Products\2C4060A3A708BD11D88F0005D85D6B9B\SourceList]
> "PackageName"="SpeechXP.msi"
>
"LastUsedSource"=hex(2):6e,00,3b,00,31,00,3b,00,43,00,3a,00,5c,00,44,00,4f,0
0,\
>
43,00,55,00,4d,00,45,00,7e,00,31,00,5c,00,4a,00,61,00,63,00,65,00,6b,00,5c,\
>
00,4c,00,4f,00,43,00,41,00,4c,00,53,00,7e,00,31,00,5c,00,54,00,65,00,6d,00,\
>
70,00,5c,00,69,00,73,00,2d,00,50,00,4f,00,56,00,4f,00,33,00,2e,00,74,00,6d,\
>   00,70,00,5c,00,00,00
>
>
[HKEY_USERS\S-1-5-21-1935655697-492894223-854245398-1003\Software\Microsoft\
Installer\Products\2C4060A3A708BD11D88F0005D85D6B9B\SourceList\Media]
> "DiskPrompt"="Microsoft Mike and Mary TTS Engines 5.1: [1]"
> "1"="DISK_1;1"
>
>
[HKEY_USERS\S-1-5-21-1935655697-492894223-854245398-1003\Software\Microsoft\
Installer\Products\2C4060A3A708BD11D88F0005D85D6B9B\SourceList\Net]
>
"1"=hex(2):43,00,3a,00,5c,00,44,00,4f,00,43,00,55,00,4d,00,45,00,7e,00,31,00
,\
>
5c,00,4a,00,61,00,63,00,65,00,6b,00,5c,00,4c,00,4f,00,43,00,41,00,4c,00,53,\
>
00,7e,00,31,00,5c,00,54,00,65,00,6d,00,70,00,5c,00,69,00,73,00,2d,00,50,00,\
Show quoteHide quote
>   4f,00,56,00,4f,00,33,00,2e,00,74,00,6d,00,70,00,5c,00,00,00
>
>
> ================
> Thanks,
> Fred
>
> "mayayana" <mayaXXy***@rcXXn.com> wrote in message
> news:ejaxdfm4JHA.140@TK2MSFTNGP03.phx.gbl...
> >
> >> Run your vbp thru this to see if this can give you a clue to what to
> >> distribute http://www.randem.com/innoscript.html
> >>
> >
> >  The VBP will list sapi.dll, with no dependencies.
> > But that's not much help. To install TTS for SAPI 5
> > it's also necessary to ship the related files. It's not
> > just a simple matter of dependencies. This is the list
> > for an English install:
> >
> > CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\spttseng.dll
> > CommonFilesFolder\SpeechEngines\Microsoft\Lexicon\1033\ltts1033.lxa
> > CommonFilesFolder\SpeechEngines\Microsoft\Lexicon\1033\r1033tts.lxa
> > CommonFilesFolder\SpeechEngines\Microsoft\spcommon.dll
> > CommonFilesFolder\Microsoft Shared\Speech\sapi.dll
> > CommonFilesFolder\Microsoft Shared\Speech\sapisvr.exe
> > WindowsFolder\Help\speech.chm
> > WindowsFolder\Help\sapicpl.hlp
> > CommonFilesFolder\Microsoft Shared\Speech\1033\spcplui.dll
> > CommonFilesFolder\Microsoft Shared\Speech\sapi.cpl
> > CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mary.SDF
> > CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Sam.SPD
> > CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mary.SPD
> > CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mike.SDF
> > CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mike.SPD
> > CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Sam.SDF
> >
> >  Then there are also quite a few Registry settings
> > that go with that.
> >
> >> What installer are you using?
> >
> >  If you read the thread you'll see that that's
> > the issue in question. :) MS only officially provides
> > merge modules for Windows Installer MSIs, with
> > no other documented means to distribute the
> > necessary files.
> >
> >
>
>
Author
1 Jun 2009 4:31 PM
fred
I have 3rd party two installation programs:
1.
Installs only Mary and Mike voices 3.5 MB
2.
Installs Sapi 5 run time files plus thes 2 voices.6.8 MB

Both files are single file executables:

I wonder. if there is some utilty allowing me to see what changes to the
registry are done during the installation?
Thanks,
Fred

Show quoteHide quote
"mayayana" <mayaXXy***@rcXXn.com> wrote in message
news:uCqN$9r4JHA.5728@TK2MSFTNGP03.phx.gbl...
>
>> I have aready tried that.
>> I copied manually all that file as you  listed plus I changed this
> registry:
>> However, I was unable to enumerate Mary and Mike voices.
>> What else should I do?
>
>  I don't understand what you did there. Are you
> creating dummy MSI settings in the Registry to
> simulate an MSI install? If so, that's not necessary
> and won't have any effect. The files don't *have*
> to be installed via an MSI inherently. That's just the
> way Microsoft has presented it.
>
>   If you used an MSI it would install the files plus
> a large number of Registry settings. A lot of the
> settings are COM registration. Part of the package is
> also a Control Panel .cpl for speech. What you seem to
> be doing is just copying over the files and adding a
> dummy MSI install listing. But that measns the COM
> files are not registered.
>
>   In the MSI Unpacker
> download I linked earlier there's a folder named "TTS
> Sample". It shows how the included scripts can auto-
> generate a VBScript installer from a given MSI component.
>
>   The TTS Sample files are such an installer. (With the
> .vbs files renamed to .txt to prevent someone from
> accidentally running them while exploring the download.)
> Those files should give you the actual Registry settings
> needed. It might take some experimenting, though. When
> I created that package I needed to install SAPI5 TTS on
> a single WinME box. It seemed to work OK. But I never
> spent the time to turn the script utilities into a time-tested
> tool. (I never ran into another occasion where I needed
> to install something that was only available in MSMs.)
>
> (The files in the Extra Ops folder are the scripts that
> were created to auto-generate the install scripts.)
>
>
>> The registry change is shown below:
>> ================
>> Windows Registry Editor Version 5.00
>>
>>
> [HKEY_USERS\S-1-5-21-1935655697-492894223-854245398-1003\Software\Microsoft\
> Installer\Products\2C4060A3A708BD11D88F0005D85D6B9B]
>> "ProductName"="Microsoft Mike and Mary TTS Engines 5.1"
>> "PackageCode"="2C4060A3A708BD11D88F0005D85D6B9B"
>> "Language"=dword:00000409
>> "Version"=dword:01000000
>> "Assignment"=dword:00000000
>> "AdvertiseFlags"=dword:00000184
>> "InstanceType"=dword:00000000
>> "AuthorizedLUAApp"=dword:00000000
>> "Clients"=hex(7):3a,00,00,00,00,00
>>
>>
> [HKEY_USERS\S-1-5-21-1935655697-492894223-854245398-1003\Software\Microsoft\
> Installer\Products\2C4060A3A708BD11D88F0005D85D6B9B\SourceList]
>> "PackageName"="SpeechXP.msi"
>>
> "LastUsedSource"=hex(2):6e,00,3b,00,31,00,3b,00,43,00,3a,00,5c,00,44,00,4f,0
> 0,\
>>
> 43,00,55,00,4d,00,45,00,7e,00,31,00,5c,00,4a,00,61,00,63,00,65,00,6b,00,5c,\
>>
> 00,4c,00,4f,00,43,00,41,00,4c,00,53,00,7e,00,31,00,5c,00,54,00,65,00,6d,00,\
>>
> 70,00,5c,00,69,00,73,00,2d,00,50,00,4f,00,56,00,4f,00,33,00,2e,00,74,00,6d,\
>>   00,70,00,5c,00,00,00
>>
>>
> [HKEY_USERS\S-1-5-21-1935655697-492894223-854245398-1003\Software\Microsoft\
> Installer\Products\2C4060A3A708BD11D88F0005D85D6B9B\SourceList\Media]
>> "DiskPrompt"="Microsoft Mike and Mary TTS Engines 5.1: [1]"
>> "1"="DISK_1;1"
>>
>>
> [HKEY_USERS\S-1-5-21-1935655697-492894223-854245398-1003\Software\Microsoft\
> Installer\Products\2C4060A3A708BD11D88F0005D85D6B9B\SourceList\Net]
>>
> "1"=hex(2):43,00,3a,00,5c,00,44,00,4f,00,43,00,55,00,4d,00,45,00,7e,00,31,00
> ,\
>>
> 5c,00,4a,00,61,00,63,00,65,00,6b,00,5c,00,4c,00,4f,00,43,00,41,00,4c,00,53,\
>>
> 00,7e,00,31,00,5c,00,54,00,65,00,6d,00,70,00,5c,00,69,00,73,00,2d,00,50,00,\
>>   4f,00,56,00,4f,00,33,00,2e,00,74,00,6d,00,70,00,5c,00,00,00
>>
>>
>> ================
>> Thanks,
>> Fred
>>
>> "mayayana" <mayaXXy***@rcXXn.com> wrote in message
>> news:ejaxdfm4JHA.140@TK2MSFTNGP03.phx.gbl...
>> >
>> >> Run your vbp thru this to see if this can give you a clue to what to
>> >> distribute http://www.randem.com/innoscript.html
>> >>
>> >
>> >  The VBP will list sapi.dll, with no dependencies.
>> > But that's not much help. To install TTS for SAPI 5
>> > it's also necessary to ship the related files. It's not
>> > just a simple matter of dependencies. This is the list
>> > for an English install:
>> >
>> > CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\spttseng.dll
>> > CommonFilesFolder\SpeechEngines\Microsoft\Lexicon\1033\ltts1033.lxa
>> > CommonFilesFolder\SpeechEngines\Microsoft\Lexicon\1033\r1033tts.lxa
>> > CommonFilesFolder\SpeechEngines\Microsoft\spcommon.dll
>> > CommonFilesFolder\Microsoft Shared\Speech\sapi.dll
>> > CommonFilesFolder\Microsoft Shared\Speech\sapisvr.exe
>> > WindowsFolder\Help\speech.chm
>> > WindowsFolder\Help\sapicpl.hlp
>> > CommonFilesFolder\Microsoft Shared\Speech\1033\spcplui.dll
>> > CommonFilesFolder\Microsoft Shared\Speech\sapi.cpl
>> > CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mary.SDF
>> > CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Sam.SPD
>> > CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mary.SPD
>> > CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mike.SDF
>> > CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mike.SPD
>> > CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Sam.SDF
>> >
>> >  Then there are also quite a few Registry settings
>> > that go with that.
>> >
>> >> What installer are you using?
>> >
>> >  If you read the thread you'll see that that's
>> > the issue in question. :) MS only officially provides
>> > merge modules for Windows Installer MSIs, with
>> > no other documented means to distribute the
>> > necessary files.
>> >
>> >
>>
>>
>
>
Author
1 Jun 2009 11:26 PM
mayayana
>
> I have 3rd party two installation programs:
> 1.
> Installs only Mary and Mike voices 3.5 MB
> 2.
> Installs Sapi 5 run time files plus thes 2 voices.6.8 MB
>
> Both files are single file executables:

So you don't need to create an installer, then.
#1 would be for XP and #2 would be for pre-XP
systems. The Registry changes are in the download
I linked, as mentioned earlier. But if you have a
ready-made installer then what difference does
it make?

Show quoteHide quote
>
> I wonder. if there is some utilty allowing me to see what changes to the
> registry are done during the installation?
> Thanks,
> Fred
>
Author
2 Jun 2009 5:20 AM
fred
It does make differnce.
These files display the company name and logo during install.
I cannot just distribute those as my own.
Fred

Show quoteHide quote
"mayayana" <mayaXXy***@rcXXn.com> wrote in message
news:uG4v5Cx4JHA.3304@TK2MSFTNGP06.phx.gbl...
>
>>
>> I have 3rd party two installation programs:
>> 1.
>> Installs only Mary and Mike voices 3.5 MB
>> 2.
>> Installs Sapi 5 run time files plus thes 2 voices.6.8 MB
>>
>> Both files are single file executables:
>
> So you don't need to create an installer, then.
> #1 would be for XP and #2 would be for pre-XP
> systems. The Registry changes are in the download
> I linked, as mentioned earlier. But if you have a
> ready-made installer then what difference does
> it make?
>
>>
>> I wonder. if there is some utilty allowing me to see what changes to the
>> registry are done during the installation?
>> Thanks,
>> Fred
>>
>
>
>
Author
2 Jun 2009 12:49 PM
mayayana
> It does make differnce.
> These files display the company name and logo during install.
> I cannot just distribute those as my own.
> Fred

  Oh, I see. I thought you meant that you had
solved the problem with those installers. You
can take a look at the script download I posted
a link for. I think there are also programs available
to record Registry changes, but I don't know
about that offhand.
Author
1 Jun 2009 7:09 AM
Randem
Well if you already have the msi file for the installation what is the
issue. Won't that installation contain everything you need?

--
Randem Systems
Your Installation Specialist
The Top Inno Setup Script Generator
http://www.randem.com/innoscript.html
Disk Read Error Press Ctl+Alt+Del to Restart
http://www.randem.com/discus/messages/9402/9406.html?1236319938



Show quoteHide quote
"mayayana" <mayaXXy***@rcXXn.com> wrote in message
news:ejaxdfm4JHA.140@TK2MSFTNGP03.phx.gbl...
>
>> Run your vbp thru this to see if this can give you a clue to what to
>> distribute http://www.randem.com/innoscript.html
>>
>
>  The VBP will list sapi.dll, with no dependencies.
> But that's not much help. To install TTS for SAPI 5
> it's also necessary to ship the related files. It's not
> just a simple matter of dependencies. This is the list
> for an English install:
>
> CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\spttseng.dll
> CommonFilesFolder\SpeechEngines\Microsoft\Lexicon\1033\ltts1033.lxa
> CommonFilesFolder\SpeechEngines\Microsoft\Lexicon\1033\r1033tts.lxa
> CommonFilesFolder\SpeechEngines\Microsoft\spcommon.dll
> CommonFilesFolder\Microsoft Shared\Speech\sapi.dll
> CommonFilesFolder\Microsoft Shared\Speech\sapisvr.exe
> WindowsFolder\Help\speech.chm
> WindowsFolder\Help\sapicpl.hlp
> CommonFilesFolder\Microsoft Shared\Speech\1033\spcplui.dll
> CommonFilesFolder\Microsoft Shared\Speech\sapi.cpl
> CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mary.SDF
> CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Sam.SPD
> CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mary.SPD
> CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mike.SDF
> CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Mike.SPD
> CommonFilesFolder\SpeechEngines\Microsoft\TTS\1033\Sam.SDF
>
>  Then there are also quite a few Registry settings
> that go with that.
>
>> What installer are you using?
>
>  If you read the thread you'll see that that's
> the issue in question. :) MS only officially provides
> merge modules for Windows Installer MSIs, with
> no other documented means to distribute the
> necessary files.
>
>
Author
1 Jun 2009 1:28 PM
mayayana
> Well if you already have the msi file for the installation what is the
> issue. Won't that installation contain everything you need?
>

  Microsoft doesn't offer an MSI file. They offer
an MSM file, a "merge module". My guess is that
they released SAPI5 around the time they came out
with Windows Installer, and SAPI5 became a guinea
pig of the MS marketing dept. Whatever the case,
they've avoided releasing a basic installer for TTS,
like the SFX CABs that they offer for most other
updates.

   An MSM is a sort of MSI component file. It contains
files and/or settings to install a given "component",
which in W.I. is a technical term for a recognizable
grouping of files/settings.

   The problem is that an MSM is "opaque". It's
designed to be used in conjunction with the creation
of an MSI installer file. While it's possible to unpack
and document the content of an MSM, it's not in
itself installable.

   So in cases like SAPI5 MS is trying to force people
to switch to MSI installations. But if you've ever
looked into MSIs you'll know that that's a very big
undetaking. The installer is actually an 80+ - table
custom SQL database, with extensive cross-referencing
between columns of different tables. And there's
nothing noteworthy available to automate the build
process, short of buying an absurdly overpriced commercial
installer like I.S. or Wise that can produce an MSI. (I
suspect that may be connected to why MSIs are so difficult:
If MS had created a usable product in Windows Installer
they would have put I.S. and Wise out of business,
inviting more monopoly lawsuits.)

  The idea with the merge modules was to have packages
of redistributables that could be "merged" into MSIs.
But that system -- the inherent opacity or secrecy around
MSM content -- means that the programmer is unlikely
to actually know what they're installing and has no direct
way to repackage the install to something other than
an MSI.
Author
1 Jun 2009 7:43 PM
Randem
Yes that may be so, but you can create a MSI out of an MSM. Will that
suffice?

--
Randem Systems
Your Installation Specialist
The Top Inno Setup Script Generator
http://www.randem.com/innoscript.html
Disk Read Error Press Ctl+Alt+Del to Restart
http://www.randem.com/discus/messages/9402/9406.html?1236319938



Show quoteHide quote
"mayayana" <mayaXXy***@rcXXn.com> wrote in message
news:exb0p0r4JHA.4272@TK2MSFTNGP06.phx.gbl...
>
>> Well if you already have the msi file for the installation what is the
>> issue. Won't that installation contain everything you need?
>>
>
>  Microsoft doesn't offer an MSI file. They offer
> an MSM file, a "merge module". My guess is that
> they released SAPI5 around the time they came out
> with Windows Installer, and SAPI5 became a guinea
> pig of the MS marketing dept. Whatever the case,
> they've avoided releasing a basic installer for TTS,
> like the SFX CABs that they offer for most other
> updates.
>
>   An MSM is a sort of MSI component file. It contains
> files and/or settings to install a given "component",
> which in W.I. is a technical term for a recognizable
> grouping of files/settings.
>
>   The problem is that an MSM is "opaque". It's
> designed to be used in conjunction with the creation
> of an MSI installer file. While it's possible to unpack
> and document the content of an MSM, it's not in
> itself installable.
>
>   So in cases like SAPI5 MS is trying to force people
> to switch to MSI installations. But if you've ever
> looked into MSIs you'll know that that's a very big
> undetaking. The installer is actually an 80+ - table
> custom SQL database, with extensive cross-referencing
> between columns of different tables. And there's
> nothing noteworthy available to automate the build
> process, short of buying an absurdly overpriced commercial
> installer like I.S. or Wise that can produce an MSI. (I
> suspect that may be connected to why MSIs are so difficult:
> If MS had created a usable product in Windows Installer
> they would have put I.S. and Wise out of business,
> inviting more monopoly lawsuits.)
>
>  The idea with the merge modules was to have packages
> of redistributables that could be "merged" into MSIs.
> But that system -- the inherent opacity or secrecy around
> MSM content -- means that the programmer is unlikely
> to actually know what they're installing and has no direct
> way to repackage the install to something other than
> an MSI.
>
>
>
>
>
Author
2 Jun 2009 1:50 PM
William DePalo [MVP VC++]
"fred" <fred@nospamme.com> wrote in message
news:OrdboFZ4JHA.1424@TK2MSFTNGP02.phx.gbl...
> My app invokes TTS using SAPI 5.
> What files should I distribute?

SAPI 5.3 is included on Vista and later. There is nothing to distribute
there. SAPI TTS capability (but not SR) is included on XP. If you are not
doing recognition you are good to go. 2000 and earlier have neither TTS nor
SR. The only SAPI components that you can legally redistribute are the
packages with the software and voices that you downloaded from MSDN. Note
that these are 5.1 not 5.3!

> There is some package I downloaded from MSDN but I do not have idea what
> to do with it: Sp5TTIntXP.Msm

That's a merge module.

http://msdn.microsoft.com/en-us/library/aa369820(VS.85).aspx

Regards,
Will
Author
2 Jun 2009 2:26 PM
Nobody
"fred" <fred@nospamme.com> wrote in message
news:OrdboFZ4JHA.1424@TK2MSFTNGP02.phx.gbl...
> Hello,
> My app invokes TTS using SAPI 5.
> What files should I distribute?
> There is some package I downloaded from MSDN but I do not have idea what
> to do with it:
> Sp5TTIntXP.Msm

That file doesn't contain everything. It includes 4 files and their registry
entries. Here are the 4 files:

07/24/2001  12:18 AM               888 Mary.SDF
07/24/2001  12:18 AM         2,112,723 Mary.SPD
07/24/2001  12:18 AM               888 Mike.SDF
07/24/2001  12:19 AM         1,999,756 Mike.SPD

The MSM file came from here:

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=5e86ec97-40a7-453f-b0ee-6583171b4530

I used 7-Zip to extract the MSM file from "Sp5TTIntXP.exe", then I used
InstEd tool to extract the files inside the MSM. You can also export the
registry entries. See here:

http://en.wikipedia.org/wiki/Windows_Installer#Tools
http://www.instedit.com/

After you download the tool, select New, Package, then go to Tables-->Merge
Module, browse to the MSM file, and at the bottom, check "Extract files to".
You may get warnings, but the files will be extracted correctly.

What you need to redistribute is "SpeechSDK51MSM.exe". It contains several
languages and that's why it's big. The English US version is 50 MB. You can
make two installers, one with it, and one without it, or you can use Inno
Setup with a free third party tool to download the extra components when
needed. See here:

http://www.sherlocksoftware.org/page.php?id=50

See also:

http://www.jrsoftware.org/iskb.php?msi
http://www.jrsoftware.org/iskb.php?vb
Author
2 Jun 2009 2:39 PM
Nobody
See also this article:

How to redistribute SAPI 5.1 core components
http://support.microsoft.com/kb/320207
Author
3 Jun 2009 1:40 AM
mayayana
> > Sp5TTIntXP.Msm
>
> That file doesn't contain everything. It includes 4 files and their
registry
> entries. Here are the 4 files:
>
> 07/24/2001  12:18 AM               888 Mary.SDF
> 07/24/2001  12:18 AM         2,112,723 Mary.SPD
> 07/24/2001  12:18 AM               888 Mike.SDF
> 07/24/2001  12:19 AM         1,999,756 Mike.SPD
>

  That's equivalent to the #1 EXE installer that he
said he had, in his last 6/1 post. It's for creating
an MSI to install the Mike and Mary voices on XP.
(XP already has everything else.)


> After you download the tool, select New, Package, then go to
Tables-->Merge
> Module, browse to the MSM file, and at the bottom, check "Extract files
to".
> You may get warnings, but the files will be extracted correctly.
>

He's already got the SDK, so he doesn't need to get
the files. They're part of the SDK.


> What you need to redistribute is "SpeechSDK51MSM.exe".
> It contains several
> languages and that's why it's big.

  That's the redistributables package, for people
who want the merge modules. It's not redistributed
as-is. It provides the merge modules for building
a redistribution MSI file. I think this is going in circles
here. He's got everything he needs in the SDK. And
the size he posted for the two EXE installers he has --
the voices for XP and the whole TTS for pre-XP --
are in accord with the size of what needs to be shipped.
At this point he has installers that are the minimum
size required, without needing to deal with MSIs. But
he wants to repackage those to avoid 3rd-party ads
during his install.