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

@@ -272,10 +272,10 @@ ESPEAK_NG_API void espeak_ng_InitializePath(const char *path)
}

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);
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);
#elif defined(PLATFORM_DOS)

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

@@ -28,18 +28,21 @@
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="$(var.PlatformProgramFilesFolder)">
<Directory Id="INSTALLFOLDER" Name="eSpeak NG" />
<Directory Id="INSTALLDIR" Name="eSpeak NG" />
</Directory>
</Directory>
</Fragment>

<Fragment>
<ComponentGroup Id="CoreComponents" Directory="INSTALLFOLDER">
<ComponentGroup Id="CoreComponents" Directory="INSTALLDIR">
<Component Id="espeak_ng" Win64="$(var.Win64)">
<File Id="espeak_ng_exe" Name="$(var.espeak-ng.TargetFileName)" Source="$(var.espeak-ng.TargetPath)" KeyPath="yes"/>
</Component>
<Component Id="libespeak_ng" Win64="$(var.Win64)">
<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>
</ComponentGroup>
</Fragment>

Loading…
Cancel
Save