Browse Source

MSI: set the Path registry value to the install directory

master
Reece H. Dunn 9 years ago
parent
commit
7a50cbcdcc
2 changed files with 7 additions and 4 deletions
  1. 2
    2
      src/libespeak-ng/speech.c
  2. 5
    2
      src/windows/installer/Product.wxs

+ 2
- 2
src/libespeak-ng/speech.c View File

} }


buf[0] = 0; buf[0] = 0;
RegOpenKeyExA(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Speech\\Voices\\Tokens\\eSpeak", 0, KEY_READ, &RegKey);
RegOpenKeyExA(HKEY_LOCAL_MACHINE, "Software\\eSpeak NG", 0, KEY_READ, &RegKey);
size = sizeof(buf); size = sizeof(buf);
var_type = REG_SZ; var_type = REG_SZ;
RegQueryValueExA(RegKey, "path", 0, &var_type, buf, &size);
RegQueryValueExA(RegKey, "Path", 0, &var_type, buf, &size);


sprintf(path_home, "%s\\espeak-data", buf); sprintf(path_home, "%s\\espeak-data", buf);
#elif defined(PLATFORM_DOS) #elif defined(PLATFORM_DOS)

+ 5
- 2
src/windows/installer/Product.wxs View File

<Fragment> <Fragment>
<Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="$(var.PlatformProgramFilesFolder)"> <Directory Id="$(var.PlatformProgramFilesFolder)">
<Directory Id="INSTALLFOLDER" Name="eSpeak NG" />
<Directory Id="INSTALLDIR" Name="eSpeak NG" />
</Directory> </Directory>
</Directory> </Directory>
</Fragment> </Fragment>


<Fragment> <Fragment>
<ComponentGroup Id="CoreComponents" Directory="INSTALLFOLDER">
<ComponentGroup Id="CoreComponents" Directory="INSTALLDIR">
<Component Id="espeak_ng" Win64="$(var.Win64)"> <Component Id="espeak_ng" Win64="$(var.Win64)">
<File Id="espeak_ng_exe" Name="$(var.espeak-ng.TargetFileName)" Source="$(var.espeak-ng.TargetPath)" KeyPath="yes"/> <File Id="espeak_ng_exe" Name="$(var.espeak-ng.TargetFileName)" Source="$(var.espeak-ng.TargetPath)" KeyPath="yes"/>
</Component> </Component>
<Component Id="libespeak_ng" Win64="$(var.Win64)"> <Component Id="libespeak_ng" Win64="$(var.Win64)">
<File Id="libespeak_ng_dll" Name="$(var.libespeak-ng.TargetFileName)" Source="$(var.libespeak-ng.TargetPath)" KeyPath="yes"/> <File Id="libespeak_ng_dll" Name="$(var.libespeak-ng.TargetFileName)" Source="$(var.libespeak-ng.TargetPath)" KeyPath="yes"/>
<RegistryKey Id="espeakngReg" Root="HKLM" Key="SOFTWARE\eSpeak NG" Action="createAndRemoveOnUninstall">
<RegistryValue Name="Path" Type="string" Value="[INSTALLDIR]"/>
</RegistryKey>
</Component> </Component>
</ComponentGroup> </ComponentGroup>
</Fragment> </Fragment>

Loading…
Cancel
Save