mirror of
https://github.com/keymanapp/keyman.git
synced 2026-09-26 01:27:42 +00:00
feat(windows): as wixproj for dotnet build wip
This commit is contained in:
parent
80d789c706
commit
53ecc3665c
7 changed files with 441 additions and 310 deletions
20
resources/build/win/wix6.inc.sh
Normal file
20
resources/build/win/wix6.inc.sh
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
WIX6PATH="C:\Users\ross_\.dotnet\tools"
|
||||
|
||||
# !IFDEF LINT
|
||||
#WIXLIGHTLINT=()
|
||||
#!ELSE
|
||||
# we suppress ICE82 because it reports spurious errors with merge module keymanengine to do with duplicate sequence numbers. Safely ignored.
|
||||
#WIXLIGHTLINT=(-sice:ICE82 -sice:ICE80)
|
||||
#!ENDIF
|
||||
|
||||
if [[ "$GO_FAST" == 1 ]]; then
|
||||
# for debug builds, we turn off compression because it is so hideously slow
|
||||
# for test builds, we also turn off compression
|
||||
WIXCOMPRESSION="-dcl none"
|
||||
else
|
||||
WIXCOMPRESSION="-dcl high"
|
||||
fi
|
||||
|
||||
# WIXLIT="$WIX6PATH/lit.exe" -wx -nologo
|
||||
WIX6BUILD="$WIX6PATH/wix.exe build"
|
||||
57
windows/src/desktop/inst/KeymanDesktop.wixproj
Normal file
57
windows/src/desktop/inst/KeymanDesktop.wixproj
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
<Project Sdk="WixToolset.Sdk/6.0.2">
|
||||
<PropertyGroup>
|
||||
<OutputPath>$(ProjectDir)</OutputPath>
|
||||
<OutputName>keymandesktop</OutputName>
|
||||
<Platform>AnyCPU</Platform>
|
||||
<SuppressICEs>ICE80;ICE82</SuppressICEs>
|
||||
<Cultures>en-us</Cultures>
|
||||
<DefaultCompressionLevel>none</DefaultCompressionLevel>
|
||||
<HarvestFileGenerateGuidsNow>true</HarvestFileGenerateGuidsNow>
|
||||
|
||||
<DefineConstants>
|
||||
PRODUCTID=$(PRODUCTID);
|
||||
RELEASE=$(RELEASE);
|
||||
KEYMAN_VERSION=$(KEYMAN_VERSION);
|
||||
KEYMAN_VERSION_WIN=$(KEYMAN_VERSION_WIN);
|
||||
KEYMAN_VERSION_WITH_TAG=$(KEYMAN_VERSION_WITH_TAG);
|
||||
CefSourceDir=$(CefSourceDir);
|
||||
DESKTOPUISOURCE=$(DESKTOPUISOURCE);
|
||||
LOCALESOURCE=$(LOCALESOURCE)
|
||||
</DefineConstants>
|
||||
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="WixToolset.Heat" />
|
||||
<HarvestDirectory Include="$(CefSourceDir)">
|
||||
<ComponentGroupName>CEF</ComponentGroupName>
|
||||
<DirectoryRefId>INSTALLDIR</DirectoryRefId>
|
||||
<PreprocessorVariable>var.CefSourceDir</PreprocessorVariable>
|
||||
<!-- <SuppressRootDirectory>true</SuppressRootDirectory> -->
|
||||
<!-- <Excludes>*.git\;</Excludes> -->
|
||||
</HarvestDirectory>
|
||||
|
||||
<HarvestDirectory Include="$(DESKTOPUISOURCE)">
|
||||
<ComponentGroupName>DesktopUI</ComponentGroupName>
|
||||
<DirectoryRefId>INSTALLDIR</DirectoryRefId>
|
||||
<PreprocessorVariable>var.DESKTOPUISOURCE</PreprocessorVariable>
|
||||
<!-- <SuppressRootDirectory>true</SuppressRootDirectory> -->
|
||||
<SuppressUniqueIds>true</SuppressUniqueIds>
|
||||
</HarvestDirectory>
|
||||
|
||||
<HarvestDirectory Include="$(LOCALESOURCE)">
|
||||
<ComponentGroupName>Locale</ComponentGroupName>
|
||||
<DirectoryRefId>LocaleDir</DirectoryRefId>
|
||||
<PreprocessorVariable>var.LOCALESOURCE</PreprocessorVariable>
|
||||
<!-- <SuppressRootDirectory>true</SuppressRootDirectory> -->
|
||||
</HarvestDirectory>
|
||||
</ItemGroup>
|
||||
|
||||
<!-- <ItemGroup>
|
||||
<Compile Include="keymandesktop.wxs" />
|
||||
</ItemGroup> -->
|
||||
<ItemGroup>
|
||||
<PackageReference Include="WixToolset.UI.wixext" Version="6.0.2" />
|
||||
<PackageReference Include="WixToolset.Util.wixext" Version="6.0.2" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -20,7 +20,7 @@ builder_if_release_build_level builder_describe_outputs \
|
|||
builder_parse "$@"
|
||||
|
||||
. "$KEYMAN_ROOT/resources/build/win/environment.inc.sh"
|
||||
. "$KEYMAN_ROOT/resources/build/win/wix.inc.sh"
|
||||
. "$KEYMAN_ROOT/resources/build/win/wix6.inc.sh"
|
||||
. "$KEYMAN_ROOT/resources/build/zip.inc.sh"
|
||||
|
||||
# In dev environments, we'll hack the tier to alpha; CI sets this for us in real builds.
|
||||
|
|
@ -62,20 +62,20 @@ function do_publish() {
|
|||
#
|
||||
# Build the installation archive
|
||||
#
|
||||
do_candle
|
||||
|
||||
#do_candle
|
||||
do_wix_build
|
||||
# ICE82: we suppress because it reports spurious errors with merge module
|
||||
# keymanengine to do with duplicate sequence numbers. Safely ignored.
|
||||
# ICE80: we suppress because it reports x64 components without targeting x64.
|
||||
# Safely ignored.
|
||||
|
||||
"$WIXLIGHT" \
|
||||
-sice:ICE82 -sice:ICE80 \
|
||||
-nologo \
|
||||
-dWixUILicenseRtf=License.rtf \
|
||||
"$WIXLIGHTCOMPRESSION" \
|
||||
-out keymandesktop.msi -ext WixUIExtension \
|
||||
keymandesktop.wixobj desktopui.wixobj cef.wixobj locale.wixobj
|
||||
#"$WIXLIGHT" \
|
||||
# -sice:ICE82 -sice:ICE80 \
|
||||
# -nologo \
|
||||
# -dWixUILicenseRtf=License.rtf \
|
||||
# "$WIXLIGHTCOMPRESSION" \
|
||||
# -out keymandesktop.msi -ext WixUIExtension \
|
||||
# keymandesktop.wixobj desktopui.wixobj cef.wixobj locale.wixobj
|
||||
|
||||
#
|
||||
# Sign the installation archive
|
||||
|
|
@ -135,12 +135,53 @@ function test-releaseexists() {
|
|||
fi
|
||||
}
|
||||
|
||||
|
||||
function do_wix_build_OLD() {
|
||||
#"${WIXCOMPRESSION}" \ this line was in the wix build cli -culture en-us \
|
||||
local GUID1=$(generate_uuid)
|
||||
DESKTOP_UI_SRC="../kmshell/xml"
|
||||
LOCALE_SRC="../kmshell/locale"
|
||||
$WIX6BUILD \
|
||||
-d KEYMAN_VERSION_WITH_TAG="${KEYMAN_VERSION_WITH_TAG}" \
|
||||
-d KEYMAN_VERSION="${KEYMAN_VERSION_WIN}" \
|
||||
-d RELEASE="${KEYMAN_VERSION_RELEASE}" \
|
||||
-d PRODUCTID="${GUID1}" \
|
||||
-d CefSourceDir="${KEYMAN_CEF4DELPHI_ROOT}" \
|
||||
-d DesktopUISource="${DESKTOP_UI_SRC}" \
|
||||
-d LocaleSource="${LOCALE_SRC}" \
|
||||
-d HarvestFileGenerateGuidsNow=true \
|
||||
keymandesktop.wxs \
|
||||
-ext WixToolset.Util.wixext \
|
||||
-o "KeymanDesktop-${KEYMAN_VERSION_WITH_TAG}.msi" \
|
||||
|
||||
}
|
||||
|
||||
function do_wix_build() {
|
||||
#"${WIXCOMPRESSION}" \ this line was in the wix build cli -culture en-us \
|
||||
exclude-cef
|
||||
local GUID1=$(generate_uuid)
|
||||
DESKTOPUISOURCE="../kmshell/xml"
|
||||
LOCALESOURCE="../kmshell/locale"
|
||||
echo "Building with ProductID: $GUID1"
|
||||
dotnet build KeymanDesktop.wixproj \
|
||||
-p:PRODUCTID="$GUID1" \
|
||||
-p:RELEASE="$KEYMAN_VERSION_RELEASE" \
|
||||
-p:KEYMAN_VERSION="$KEYMAN_VERSION_WIN" \
|
||||
-p:KEYMAN_VERSION_WITH_TAG="$KEYMAN_VERSION_WITH_TAG" \
|
||||
-p:KEYMAN_VERSION_WIN="$KEYMAN_VERSION_WIN" \
|
||||
-p:CefSourceDir="$KEYMAN_WIX_TEMP_CEF" \
|
||||
-p:DESKTOPUISOURCE="$DESKTOPUISOURCE" \
|
||||
-p:LOCALESOURCE="$LOCALESOURCE"
|
||||
}
|
||||
|
||||
|
||||
function do_candle() {
|
||||
heat-cef
|
||||
|
||||
builder_heading candle
|
||||
|
||||
local GUID1=$(generate_uuid)
|
||||
"$WIXHEAT" dir "$KEYMAN_WIX_TEMP_CEF" -o cef.wxs -ag -cg CEF -dr INSTALLDIR -var var.CefSourceDir -wx -nologo
|
||||
"$WIXHEAT" dir ../kmshell/xml -o desktopui.wxs -ag -cg DesktopUI -dr INSTALLDIR -suid -var var.DESKTOPUISOURCE -wx -nologo
|
||||
"$WIXHEAT" dir ../kmshell/locale -o locale.wxs -ag -cg Locale -dr INSTALLDIR -var var.LOCALESOURCE -wx -nologo
|
||||
"$WIXCANDLE" -dKEYMAN_VERSION_WITH_TAG=${KEYMAN_VERSION_WITH_TAG} -dKEYMAN_VERSION=${KEYMAN_VERSION_WIN} -dRELEASE=${KEYMAN_VERSION_RELEASE} -dPRODUCTID=$GUID1 \
|
||||
|
|
@ -160,6 +201,15 @@ function heat-cef() {
|
|||
rm -rf "$KEYMAN_WIX_TEMP_CEF"
|
||||
}
|
||||
|
||||
function exclude-cef() {
|
||||
builder_heading exclude-cef
|
||||
|
||||
# We copy the files to a temp folder in order to exclude .git from harvesting
|
||||
rm -rf "$KEYMAN_WIX_TEMP_CEF"
|
||||
mkdir -p "$KEYMAN_WIX_TEMP_CEF"
|
||||
cp -r "$KEYMAN_CEF4DELPHI_ROOT"/* "$KEYMAN_WIX_TEMP_CEF"
|
||||
}
|
||||
|
||||
|
||||
function create-setup-inf() {
|
||||
builder_heading create-setup-inf
|
||||
|
|
|
|||
|
|
@ -1,10 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Product UpgradeCode="c70af17c-8b9e-47a1-a099-b65aee3dc8b4" Manufacturer="SIL International"
|
||||
Id="*" Name="Keyman $(var.RELEASE)" Version="$(var.KEYMAN_VERSION)" Language="1033">
|
||||
<Package Keywords="Keyman,Keyman for Windows,Keyboard,Engine"
|
||||
Description="Keyman $(var.RELEASE)" Comments="Contact: Your local administrator" Compressed="yes"
|
||||
Manufacturer="SIL International" InstallerVersion="400" Platform="x86" Languages="1033" SummaryCodepage="1252" />
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:ui="http://wixtoolset.org/schemas/v4/wxs/ui">
|
||||
<Package UpgradeCode="c70af17c-8b9e-47a1-a099-b65aee3dc8b4" Manufacturer="SIL International" Name="Keyman $(var.RELEASE)" Version="$(var.KEYMAN_VERSION)" Language="1033" InstallerVersion="400"><SummaryInformation Keywords="Keyman,Keyman for Windows,Keyboard,Engine" Description="Keyman $(var.RELEASE)" Manufacturer="SIL International" />
|
||||
|
||||
<!-- ALLOW Upgrade from 7.0 Light -->
|
||||
<Upgrade Id="5D7A2C7D-4CF3-4425-A1B1-411533CA006F">
|
||||
|
|
@ -72,197 +68,35 @@
|
|||
* DISABLEADVTSHORTCUTS: https://learn.microsoft.com/en-us/windows/win32/msi/disableadvtshortcuts
|
||||
* Shortcut advertisement: https://learn.microsoft.com/en-us/windows/win32/msi/advertisement
|
||||
-->
|
||||
<Property Id='DISABLEADVTSHORTCUTS' Value='1' />
|
||||
<Property Id="DISABLEADVTSHORTCUTS" Value="1" />
|
||||
|
||||
<Property Id='OLDINSTALLDIR'>
|
||||
<RegistrySearch Id='oldinstalldir_search' Key='Software\Keyman\Keyman Desktop' Root='HKLM' Name='root path' Type='raw' />
|
||||
<Property Id="OLDINSTALLDIR">
|
||||
<RegistrySearch Id="oldinstalldir_search" Root="HKLM" Key="Software\Keyman\Keyman Desktop" Name="root path" Type="raw" />
|
||||
</Property>
|
||||
|
||||
<Property Id='OnlineProductID' Value='30' />
|
||||
<Property Id="OnlineProductID" Value="30" />
|
||||
|
||||
<Directory Id="TARGETDIR" Name="SourceDir" DiskId="1">
|
||||
|
||||
<Merge Id="keymanengine" Language='1033' SourceFile='..\..\engine\inst\keymanengine.msm' />
|
||||
|
||||
<Directory Id="ProgramFilesFolder" Name=".">
|
||||
<Directory Id="KEYMANROOT" Name="Keyman">
|
||||
<Directory Id="KEYMAN" Name="Keyman Desktop">
|
||||
<Directory Id="INSTALLDIR" Name="." FileSource="..\..\..\bin\desktop\">
|
||||
|
||||
<Component>
|
||||
<File Name="kmshell.exe" KeyPath="yes">
|
||||
<Shortcut Id="startmenuKeyman" Advertise="yes" Directory="ProgramMenuDir" Name="Keyman" WorkingDirectory='INSTALLDIR' Icon="appicon.ico" IconIndex="0" />
|
||||
<Shortcut Id="startmenuKeymanConfiguration" Advertise="yes" Directory="ProgramMenuDir" Arguments="-c" Name="Keyman Configuration" WorkingDirectory='INSTALLDIR' Icon="KMSHELL.ico" IconIndex="0" />
|
||||
</File>
|
||||
|
||||
<RegistryValue Root="HKCR" Key=".kmp" Type="string" Value="Keyman.File.Package" />
|
||||
<RegistryValue Root="HKCR" Key=".kmx" Type="string" Value="Keyman.File.Keyboard" />
|
||||
<RegistryValue Root="HKCR" Key=".kvk" Type="string" Value="Keyman.File.OnScreenKeyboard" />
|
||||
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Package" Type="string" Value="Keyman Package File" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Package\Shell" Type="string" Value="install" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Package\Shell\install" Type="string" Value="&Install" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Package\Shell\install\Command" Type="string" Value='"[#kmshell.exe]" -i "%1"' />
|
||||
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Keyboard" Type="string" Value="Keyman Keyboard File" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Keyboard\Shell" Type="string" Value="install" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Keyboard\Shell\install" Type="string" Value="&Install" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Keyboard\Shell\install\Command" Type="string" Value='"[#kmshell.exe]" -i "%1"' />
|
||||
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.OnScreenKeyboard" Type="string" Value="Keyman On Screen Keyboard File" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.OnScreenKeyboard\Shell" Type="string" Value="install" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.OnScreenKeyboard\Shell\install" Type="string" Value="&Install" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.OnScreenKeyboard\Shell\install\Command" Type="string" Value='"[#kmshell.exe]" -i "%1"' />
|
||||
|
||||
<RegistryValue Root="HKCR" Key="keyman" Type="string" Value="URL:Keyman Protocol" />
|
||||
<RegistryValue Root="HKCR" Key="keyman" Name="URL Protocol" Type="string" Value="" />
|
||||
<RegistryValue Root="HKCR" Key="keyman\DefaultIcon" Type="string" Value="" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman\shell\open" Name="FriendlyAppName" Type="string" Value="Keyman Configuration" />
|
||||
<RegistryValue Root="HKCR" Key="keyman\shell\open\command" Type="string" Value='"[#kmshell.exe]" -i "%1"' />
|
||||
|
||||
<RemoveFile Id="CachedInstallDirFiles" Property="CachedInstallDir" On="uninstall" Name="*" />
|
||||
<RemoveFolder Id="CachedInstallDir" Property="CachedInstallDir" On="uninstall" />
|
||||
<RemoveFolder Id="CachedInstallDirParent" Property="CachedInstallDirParent" On="uninstall" />
|
||||
</Component>
|
||||
|
||||
<Component>
|
||||
<File Name="desktop_resources.dll" Source="..\inst\desktop_resources.dll" KeyPath="yes" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Package\DefaultIcon" Type="string" Value="[#desktop_resources.dll],0" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Keyboard\DefaultIcon" Type="string" Value="[#desktop_resources.dll],1" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.OnScreenKeyboard\DefaultIcon" Type="string" Value="[#desktop_resources.dll],2" />
|
||||
</Component>
|
||||
|
||||
<Component>
|
||||
<File Name="menu.txt" Source="..\branding\menu.txt" KeyPath="yes" />
|
||||
</Component>
|
||||
|
||||
<Component>
|
||||
<File Name="messages.txt" Source="..\branding\messages.txt" KeyPath="yes" />
|
||||
</Component>
|
||||
|
||||
<Component>
|
||||
<File Name="menutitle.png" Source="..\branding\menutitle.png" KeyPath="yes" />
|
||||
</Component>
|
||||
|
||||
<Component>
|
||||
<File Id="trayicon.ico" Name="trayicon.ico" Source="..\branding\trayicon.ico" KeyPath="yes" />
|
||||
</Component>
|
||||
|
||||
<Component>
|
||||
<File Id="appicon.ico" Name="appicon.ico" Source="..\branding\appicon.ico" KeyPath="yes" />
|
||||
</Component>
|
||||
|
||||
<Component>
|
||||
<File Id="cfgicon.ico" Name="cfgicon.ico" Source="..\branding\cfgicon.ico" KeyPath="yes" />
|
||||
</Component>
|
||||
|
||||
<Component>
|
||||
<File Id="KeymanDesktop.chm" Name="KeymanDesktop.chm" KeyPath="yes" />
|
||||
</Component>
|
||||
|
||||
<Component>
|
||||
<File Name="unicodedata.mdb" Source="..\..\..\..\common\windows\bin\data\unicodedata.mdb" />
|
||||
</Component>
|
||||
|
||||
<Component>
|
||||
<File Id="kmbrowserhost.exe" Name="kmbrowserhost.exe" KeyPath="yes" />
|
||||
</Component>
|
||||
|
||||
<Component>
|
||||
<File Id="kmconfig.exe" Name="kmconfig.exe" KeyPath="yes" />
|
||||
</Component>
|
||||
|
||||
<Component Id="Reg_RootPath" Guid="*">
|
||||
<RegistryValue KeyPath="yes" Root="HKLM" Key="SOFTWARE\Keyman\Keyman Desktop" Name="root path" Type="string" Value="[INSTALLDIR]" />
|
||||
<RegistryValue Root="HKLM" Key="SOFTWARE\Keyman\Keyman Desktop" Name="version" Type="string" Value="$(var.KEYMAN_VERSION)" />
|
||||
<RegistryValue Root="HKLM" Key="SOFTWARE\Keyman\Keyman Desktop" Name="release" Type="string" Value="$(var.RELEASE)" />
|
||||
<RegistryValue Root="HKLM" Key="SOFTWARE\Keyman\Keyman Desktop" Name="charmap source data" Type="string" Value="[INSTALLDIR]" />
|
||||
<RegistryKey ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Root="HKLM" Key="Software\Keyman\Keyman Desktop" />
|
||||
</Component>
|
||||
|
||||
<Component Id="removeCU" Guid="*">
|
||||
<RegistryValue KeyPath="yes" Root="HKCU" Key="Software\Keyman\Keyman Desktop" Name="Install" Type="string" Value="1" />
|
||||
<RegistryKey ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Root="HKCU" Key="Software\Keyman\Keyman Desktop" />
|
||||
<RemoveFolder Id="ProgramMenuDir" Directory="ProgramMenuDir" On="uninstall" />
|
||||
|
||||
<RemoveFile Id="Version70ShortcutKeyman" Name="Keyman Desktop Light 7.0.lnk" Directory="ProgramMenuDirLight70" On="both" />
|
||||
<RemoveFile Id="Version71ShortcutKeyman" Name="Keyman Desktop Light 7.1.lnk" Directory="ProgramMenuDirLight71" On="both" />
|
||||
<RemoveFile Id="Version70ShortcutKeymanD" Name="Keyman Desktop Light 7.0.lnk" Directory="DesktopFolder" On="both" />
|
||||
<RemoveFile Id="Version71ShortcutKeymanD" Name="Keyman Desktop Light 7.1.lnk" Directory="DesktopFolder" On="both" />
|
||||
<RemoveFile Id="Version70ShortcutConfig" Name="Keyman Configuration.lnk" Directory="ProgramMenuDirLight70" On="both" />
|
||||
<RemoveFile Id="Version71ShortcutConfig" Name="Keyman Configuration.lnk" Directory="ProgramMenuDirLight71" On="both" />
|
||||
|
||||
<RemoveFile Id="Version70ShortcutKeymanP" Name="Keyman Desktop Professional 7.0.lnk" Directory="ProgramMenuDirPro70" On="both" />
|
||||
<RemoveFile Id="Version71ShortcutKeymanP" Name="Keyman Desktop Professional 7.1.lnk" Directory="ProgramMenuDirPro71" On="both" />
|
||||
<RemoveFile Id="Version70ShortcutKeymanDP" Name="Keyman Desktop Professional 7.0.lnk" Directory="DesktopFolder" On="both" />
|
||||
<RemoveFile Id="Version71ShortcutKeymanDP" Name="Keyman Desktop Professional 7.1.lnk" Directory="DesktopFolder" On="both" />
|
||||
<RemoveFile Id="Version70ShortcutConfigP" Name="Keyman Configuration.lnk" Directory="ProgramMenuDirPro70" On="both" />
|
||||
<RemoveFile Id="Version71ShortcutConfigP" Name="Keyman Configuration.lnk" Directory="ProgramMenuDirPro71" On="both" />
|
||||
|
||||
<RemoveFolder Id="Version70ShortcutsL" Directory="ProgramMenuDirLight70" On="both" />
|
||||
<RemoveFolder Id="Version70ShortcutsP" Directory="ProgramMenuDirPro70" On="both" />
|
||||
<RemoveFolder Id="Version71ShortcutsL" Directory="ProgramMenuDirLight71" On="both" />
|
||||
<RemoveFolder Id="Version71ShortcutsP" Directory="ProgramMenuDirPro71" On="both" />
|
||||
|
||||
<RemoveFile Id="Version80ShortcutKeyman" Name="Keyman Desktop 8.0.lnk" Directory="ProgramMenuDir80" On="both" />
|
||||
<RemoveFile Id="Version80ShortcutKeymanD" Name="Keyman Desktop 8.0.lnk" Directory="DesktopFolder" On="both" />
|
||||
<RemoveFile Id="Version80ShortcutConfig" Name="Keyman Configuration.lnk" Directory="ProgramMenuDir80" On="both" />
|
||||
|
||||
<RemoveFolder Id="Version80Shortcuts" Directory="ProgramMenuDir80" On="both" />
|
||||
|
||||
<RemoveFile Id="Version90ShortcutKeyman" Name="Keyman Desktop 9.0.lnk" Directory="ProgramMenuDir90" On="both" />
|
||||
<RemoveFile Id="Version90ShortcutKeymanD" Name="Keyman Desktop 9.0.lnk" Directory="DesktopFolder" On="both" />
|
||||
<RemoveFile Id="Version90ShortcutConfig" Name="Keyman Configuration.lnk" Directory="ProgramMenuDir90" On="both" />
|
||||
|
||||
<RemoveFolder Id="Version90Shortcuts" Directory="ProgramMenuDir90" On="both" />
|
||||
|
||||
<RemoveFile Id="Version100ShortcutKeyman" Name="Keyman Desktop.lnk" Directory="ProgramMenuDir100" On="both" />
|
||||
<RemoveFile Id="Version100ShortcutKeymanD" Name="Keyman Desktop.lnk" Directory="DesktopFolder" On="both" />
|
||||
<RemoveFile Id="Version100ShortcutConfig" Name="Keyman Configuration.lnk" Directory="ProgramMenuDir100" On="both" />
|
||||
|
||||
<RemoveFolder Id="Version100Shortcuts" Directory="ProgramMenuDir100" On="both" />
|
||||
</Component>
|
||||
|
||||
<Directory Id="dir_locale" Name="locale" />
|
||||
|
||||
<Directory Id="dir_sentry_0.6.0" Name="sentry-0.6.0" />
|
||||
</Directory>
|
||||
</Directory>
|
||||
</Directory>
|
||||
</Directory>
|
||||
|
||||
<Directory Id="ProgramMenuFolder" Name="Programs">
|
||||
<Directory Id="ProgramMenuDir" Name="Keyman for Windows" />
|
||||
<Directory Id="ProgramMenuDirLight70" Name="Tavultesoft Keyman Desktop Light 7.0" />
|
||||
<Directory Id="ProgramMenuDirLight71" Name="Tavultesoft Keyman Desktop Light 7.1" />
|
||||
<Directory Id="ProgramMenuDirPro70" Name="Tavultesoft Keyman Desktop Professional 7.0" />
|
||||
<Directory Id="ProgramMenuDirPro71" Name="Tavultesoft Keyman Desktop Professional 7.1" />
|
||||
<Directory Id="ProgramMenuDir80" Name="Tavultesoft Keyman Desktop 8.0" />
|
||||
<Directory Id="ProgramMenuDir90" Name="Tavultesoft Keyman Desktop 9.0" />
|
||||
<Directory Id="ProgramMenuDir100" Name="Keyman Desktop" />
|
||||
</Directory>
|
||||
|
||||
<Directory Id="DesktopFolder" Name="Desktop" />
|
||||
|
||||
</Directory>
|
||||
|
||||
<ComponentGroup Id="KeymanSentryComponents" Directory="dir_sentry_0.6.0" Source="..\..\..\..\common\windows\delphi\ext\sentry">
|
||||
<Component>
|
||||
<File Id="sentry.dll" KeyPath="yes" />
|
||||
<File Id="sentry.dll" Source="..\..\..\..\common\windows\delphi\ext\sentry\sentry.dll" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component>
|
||||
<File Id="sentry.x64.dll" KeyPath="yes" />
|
||||
<File Id="sentry.x64.dll" Source="..\..\..\..\common\windows\delphi\ext\sentry\sentry.x64.dll" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component>
|
||||
<File Id="sentry.arm64.dll" KeyPath="yes" />
|
||||
<File Id="sentry.arm64.dll" Source="..\..\..\..\common\windows\delphi\ext\sentry\sentry.arm64.dll" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component>
|
||||
<File Id="crashpad_handler.exe" KeyPath="yes" />
|
||||
<File Id="crashpad_handler.exe" Source="..\..\..\..\common\windows\delphi\ext\sentry\crashpad_handler.exe" KeyPath="yes" />
|
||||
</Component>
|
||||
</ComponentGroup>
|
||||
|
||||
<!-- ========================================
|
||||
FEATURE
|
||||
======================================== -->
|
||||
<Feature Id="AlwaysInstall" Title="Keyman Application Files" Description="Required program files for Keyman"
|
||||
Level="1" ConfigurableDirectory="INSTALLDIR" Absent="disallow" AllowAdvertise="no">
|
||||
Level="1" ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no" AllowAbsent="no">
|
||||
<ComponentRef Id="kmshell.exe" Primary="yes" />
|
||||
<ComponentRef Id="desktop_resources.dll" />
|
||||
<ComponentRef Id="menu.txt" />
|
||||
|
|
@ -275,67 +109,65 @@
|
|||
<ComponentRef Id="unicodedata.mdb" />
|
||||
<ComponentRef Id="kmbrowserhost.exe" />
|
||||
<ComponentRef Id="kmconfig.exe" />
|
||||
|
||||
<ComponentRef Id="Reg_RootPath" />
|
||||
<ComponentRef Id="removeCU" />
|
||||
<ComponentGroupRef Id="DesktopUI" />
|
||||
<ComponentGroupRef Id="CEF" />
|
||||
<ComponentGroupRef Id="Locale" />
|
||||
<ComponentGroupRef Id="KeymanSentryComponents" />
|
||||
|
||||
<MergeRef Id='keymanengine' />
|
||||
<MergeRef Id="keymanengine" />
|
||||
</Feature>
|
||||
|
||||
<!-- Actions -->
|
||||
|
||||
<CustomAction Id="RollbackPostInstallCU" Execute="rollback" Impersonate="yes" ExeCommand='-rcu' BinaryKey='insthelp.exe' />
|
||||
<CustomAction Id="RollbackPostInstallLM" Execute="rollback" Impersonate="no" ExeCommand='-rlm' BinaryKey='insthelp.exe' />
|
||||
<CustomAction Id="PreUninstallUser" Execute="deferred" Impersonate="yes" ExeCommand='-uu' BinaryKey="insthelp.exe" />
|
||||
<CustomAction Id='AlreadyUpdated' Error='[ProductName] has already been updated to [ProductVersion] or newer.' />
|
||||
<CustomAction Id='NoDowngrade' Error='A later version of [ProductName] or a related edition is already installed.' />
|
||||
<CustomAction Id="RollbackPostInstallCU" Execute="rollback" Impersonate="yes" ExeCommand="-rcu" BinaryRef="insthelp.exe" />
|
||||
<CustomAction Id="RollbackPostInstallLM" Execute="rollback" Impersonate="no" ExeCommand="-rlm" BinaryRef="insthelp.exe" />
|
||||
<CustomAction Id="PreUninstallUser" Execute="deferred" Impersonate="yes" ExeCommand="-uu" BinaryRef="insthelp.exe" />
|
||||
<CustomAction Id="AlreadyUpdated" Error="[ProductName] has already been updated to [ProductVersion] or newer." />
|
||||
<CustomAction Id="NoDowngrade" Error="A later version of [ProductName] or a related edition is already installed." />
|
||||
|
||||
<CustomAction Id='LocateInstallDir' Execute='immediate' Directory='INSTALLDIR' Value='[OLDINSTALLDIR]' />
|
||||
<CustomAction Id="LocateInstallDir" Execute="immediate" Directory="INSTALLDIR" Value="[OLDINSTALLDIR]" />
|
||||
|
||||
<CustomAction Id="SaveARPInstallLocation" Property="ARPINSTALLLOCATION" Value="[INSTALLDIR]" />
|
||||
|
||||
<!-- I1165 - Uninstall failure on Win9x - refer to ProgramFilesFolder instead of %ProgramFiles! -->
|
||||
<CustomAction Id='CachedInstallDir' Property='CachedInstallDir' Value='[ProgramFilesFolder]\Keyman\Cached Installer Files\[ProductCode]' />
|
||||
<CustomAction Id='CachedInstallDirParent' Property='CachedInstallDirParent' Value='[ProgramFilesFolder]\Keyman\Cached Installer Files' />
|
||||
<CustomAction Id="CachedInstallDir" Property="CachedInstallDir" Value="[ProgramFilesFolder]\Keyman\Cached Installer Files\[ProductCode]" />
|
||||
<CustomAction Id="CachedInstallDirParent" Property="CachedInstallDirParent" Value="[ProgramFilesFolder]\Keyman\Cached Installer Files" />
|
||||
|
||||
<InstallExecuteSequence>
|
||||
<Custom Action='LocateInstallDir' After='CostFinalize'>VERSION11FOUND</Custom>
|
||||
<Custom Action="LocateInstallDir" After="CostFinalize" Condition="VERSION11FOUND" />
|
||||
|
||||
<Custom Action='CachedInstallDir' After='CostFinalize' />
|
||||
<Custom Action='CachedInstallDirParent' After='CostFinalize' />
|
||||
<Custom Action="CachedInstallDir" After="CostFinalize" />
|
||||
<Custom Action="CachedInstallDirParent" After="CostFinalize" />
|
||||
|
||||
<Custom Action='AlreadyUpdated' After='FindRelatedProducts'>CURRENTVERSIONFOUND</Custom>
|
||||
<Custom Action='NoDowngrade' After='AlreadyUpdated'>NEWERFOUND Or HIGHERFOUND</Custom>
|
||||
<Custom Action="AlreadyUpdated" After="FindRelatedProducts" Condition="CURRENTVERSIONFOUND" />
|
||||
<Custom Action="NoDowngrade" After="AlreadyUpdated" Condition="NEWERFOUND Or HIGHERFOUND" />
|
||||
|
||||
<!-- Note: we do not remove existing products for 10.0 or earlier, but rely on setup to
|
||||
do this for us, because we actually need the uninstall to happen before InstallValidate.
|
||||
But we cannot have RemoveExistingProducts in two places in the installer! -->
|
||||
<RemoveExistingProducts After='InstallFinalize'>VERSION11FOUND</RemoveExistingProducts>
|
||||
<RemoveExistingProducts After="InstallFinalize" Condition="VERSION11FOUND" />
|
||||
|
||||
<Custom Action='RollbackPostInstallLM' After='InstallInitialize'><![CDATA[Not Installed Or REINSTALL]]></Custom>
|
||||
<Custom Action='RollbackPostInstallCU' After='InstallInitialize'><![CDATA[Not Installed Or REINSTALL]]></Custom>
|
||||
<Custom Action="RollbackPostInstallLM" After="InstallInitialize" Condition="Not Installed Or REINSTALL" />
|
||||
<Custom Action="RollbackPostInstallCU" After="InstallInitialize" Condition="Not Installed Or REINSTALL" />
|
||||
|
||||
<Custom Action="PreUninstallUser" After="InstallInitialize"><![CDATA[REMOVE="ALL" And Not REINSTALL And Not UPGRADINGPRODUCTCODE]]></Custom>
|
||||
<Custom Action="PreUninstallUser" After="InstallInitialize" Condition="REMOVE="ALL" And Not REINSTALL And Not UPGRADINGPRODUCTCODE" />
|
||||
|
||||
<Custom Action='SaveARPInstallLocation' After='InstallValidate'><![CDATA[Not Installed Or REINSTALL]]></Custom>
|
||||
<Custom Action="SaveARPInstallLocation" After="InstallValidate" Condition="Not Installed Or REINSTALL" />
|
||||
</InstallExecuteSequence>
|
||||
|
||||
<Media Id="1" EmbedCab="yes" Cabinet="Data1.cab" VolumeLabel="DISK1" />
|
||||
|
||||
<Property Id="ALLUSERS">1</Property>
|
||||
<!-- <Property Id="ALLUSERS" Value="1" /> -->
|
||||
|
||||
<UIRef Id="WixUI_FeatureTree"/>
|
||||
<ui:WixUI Id="WixUI_FeatureTree" />
|
||||
|
||||
<Icon Id="appicon.ico" SourceFile="..\branding\appicon.ico" />
|
||||
<Icon Id="KMSHELL.ico" SourceFile="..\branding\cfgicon.ico" />
|
||||
|
||||
<Binary Id="insthelp.exe" SourceFile="..\..\..\bin\desktop\insthelp.exe" />
|
||||
|
||||
<Condition Message="Keyman requires Windows 7 or later"><![CDATA[Installed OR (VersionNT >= 601)]]></Condition>
|
||||
<Launch Condition="Installed OR (VersionNT >= 601)" Message="Keyman requires Windows 7 or later" />
|
||||
|
||||
<Property Id="ARPURLINFOABOUT" Value="http://www.keyman.com/desktop/" />
|
||||
<Property Id="ARPURLUPDATEINFO" Value="http://www.keyman.com/" />
|
||||
|
|
@ -343,5 +175,176 @@
|
|||
|
||||
<Property Id="VersionWithTag" Value="$(var.KEYMAN_VERSION_WITH_TAG)" />
|
||||
|
||||
</Product>
|
||||
|
||||
<StandardDirectory Id="ProgramFilesFolder">
|
||||
<Directory Id="KEYMANROOT" Name="Keyman">
|
||||
<Directory Id="KEYMAN" Name="Keyman Desktop">
|
||||
<Directory Id="INSTALLDIR" Name="." FileSource="..\..\..\bin\desktop\">
|
||||
|
||||
|
||||
<Merge Id="keymanengine"
|
||||
SourceFile="..\..\engine\inst\keymanengine.msm"
|
||||
Language="1033"
|
||||
DiskId="1" />
|
||||
|
||||
<Component>
|
||||
<File Id="kmshell.exe" Name="kmshell.exe" KeyPath="yes">
|
||||
<Shortcut Id="startmenuKeyman" Advertise="yes" Directory="ProgramMenuDir" Name="Keyman" WorkingDirectory="INSTALLDIR" Icon="appicon.ico" IconIndex="0" />
|
||||
<Shortcut Id="startmenuKeymanConfiguration" Advertise="yes" Directory="ProgramMenuDir" Arguments="-c" Name="Keyman Configuration" WorkingDirectory="INSTALLDIR" Icon="KMSHELL.ico" IconIndex="0" />
|
||||
</File>
|
||||
|
||||
<RegistryValue Root="HKCR" Key=".kmp" Type="string" Value="Keyman.File.Package" />
|
||||
<RegistryValue Root="HKCR" Key=".kmx" Type="string" Value="Keyman.File.Keyboard" />
|
||||
<RegistryValue Root="HKCR" Key=".kvk" Type="string" Value="Keyman.File.OnScreenKeyboard" />
|
||||
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Package" Type="string" Value="Keyman Package File" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Package\Shell" Type="string" Value="install" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Package\Shell\install" Type="string" Value="&Install" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Package\Shell\install\Command" Type="string" Value=""[#kmshell.exe]" -i "%1"" />
|
||||
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Keyboard" Type="string" Value="Keyman Keyboard File" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Keyboard\Shell" Type="string" Value="install" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Keyboard\Shell\install" Type="string" Value="&Install" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Keyboard\Shell\install\Command" Type="string" Value=""[#kmshell.exe]" -i "%1"" />
|
||||
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.OnScreenKeyboard" Type="string" Value="Keyman On Screen Keyboard File" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.OnScreenKeyboard\Shell" Type="string" Value="install" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.OnScreenKeyboard\Shell\install" Type="string" Value="&Install" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.OnScreenKeyboard\Shell\install\Command" Type="string" Value=""[#kmshell.exe]" -i "%1"" />
|
||||
|
||||
<RegistryValue Root="HKCR" Key="keyman" Type="string" Value="URL:Keyman Protocol" />
|
||||
<RegistryValue Root="HKCR" Key="keyman" Name="URL Protocol" Type="string" Value="" />
|
||||
<RegistryValue Root="HKCR" Key="keyman\DefaultIcon" Type="string" Value="" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman\shell\open" Name="FriendlyAppName" Type="string" Value="Keyman Configuration" />
|
||||
<RegistryValue Root="HKCR" Key="keyman\shell\open\command" Type="string" Value=""[#kmshell.exe]" -i "%1"" />
|
||||
|
||||
<RemoveFile Id="CachedInstallDirFiles" Property="CachedInstallDir" On="uninstall" Name="*" />
|
||||
<RemoveFolder Id="CachedInstallDir" Property="CachedInstallDir" On="uninstall" />
|
||||
<RemoveFolder Id="CachedInstallDirParent" Property="CachedInstallDirParent" On="uninstall" />
|
||||
</Component>
|
||||
|
||||
<Component>
|
||||
<File Id="desktop_resources.dll" Name="desktop_resources.dll" Source="..\inst\desktop_resources.dll" KeyPath="yes" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Package\DefaultIcon" Type="string" Value="[#desktop_resources.dll],0" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Keyboard\DefaultIcon" Type="string" Value="[#desktop_resources.dll],1" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.OnScreenKeyboard\DefaultIcon" Type="string" Value="[#desktop_resources.dll],2" />
|
||||
</Component>
|
||||
|
||||
|
||||
<Component>
|
||||
<File Id="menu.txt" Name="menu.txt" Source="..\branding\menu.txt" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component>
|
||||
<File Id="messages.txt" Name="messages.txt" Source="..\branding\messages.txt" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component>
|
||||
<File Id="menutitle.png" Name="menutitle.png" Source="..\branding\menutitle.png" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component>
|
||||
<File Id="trayicon.ico" Name="trayicon.ico" Source="..\branding\trayicon.ico" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component>
|
||||
<File Id="appicon.ico" Name="appicon.ico" Source="..\branding\appicon.ico" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component>
|
||||
<File Id="cfgicon.ico" Name="cfgicon.ico" Source="..\branding\cfgicon.ico" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component>
|
||||
<File Id="KeymanDesktop.chm" Name="KeymanDesktop.chm" KeyPath="yes" />
|
||||
</Component>
|
||||
|
||||
|
||||
<Component>
|
||||
<File Id="unicodedata.mdb" Name="unicodedata.mdb" Source="..\..\..\..\common\windows\bin\data\unicodedata.mdb" />
|
||||
</Component>
|
||||
<Component>
|
||||
<File Id="kmbrowserhost.exe" Name="kmbrowserhost.exe" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component>
|
||||
<File Id="kmconfig.exe" Name="kmconfig.exe" KeyPath="yes" />
|
||||
</Component>
|
||||
|
||||
|
||||
<Component Id="Reg_RootPath">
|
||||
<RegistryValue KeyPath="yes" Root="HKLM" Key="SOFTWARE\Keyman\Keyman Desktop" Name="root path" Type="string" Value="[INSTALLDIR]" />
|
||||
<RegistryValue Root="HKLM" Key="SOFTWARE\Keyman\Keyman Desktop" Name="version" Type="string" Value="$(var.KEYMAN_VERSION)" />
|
||||
<RegistryValue Root="HKLM" Key="SOFTWARE\Keyman\Keyman Desktop" Name="release" Type="string" Value="$(var.RELEASE)" />
|
||||
<RegistryValue Root="HKLM" Key="SOFTWARE\Keyman\Keyman Desktop" Name="charmap source data" Type="string" Value="[INSTALLDIR]" />
|
||||
<RegistryKey ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Root="HKLM" Key="Software\Keyman\Keyman Desktop" />
|
||||
</Component>
|
||||
|
||||
|
||||
<Component Id="removeCU">
|
||||
<RegistryValue KeyPath="yes" Root="HKCU" Key="Software\Keyman\Keyman Desktop" Name="Install" Type="string" Value="1" />
|
||||
<RegistryKey ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Root="HKCU" Key="Software\Keyman\Keyman Desktop" />
|
||||
<RemoveFolder Id="ProgramMenuDir" Directory="ProgramMenuDir" On="uninstall" />
|
||||
|
||||
|
||||
<RemoveFile Id="Version70ShortcutKeyman" Name="Keyman Desktop Light 7.0.lnk" Directory="ProgramMenuDirLight70" On="both" />
|
||||
<RemoveFile Id="Version71ShortcutKeyman" Name="Keyman Desktop Light 7.1.lnk" Directory="ProgramMenuDirLight71" On="both" />
|
||||
<RemoveFile Id="Version70ShortcutKeymanD" Name="Keyman Desktop Light 7.0.lnk" Directory="DesktopFolder" On="both" />
|
||||
<RemoveFile Id="Version71ShortcutKeymanD" Name="Keyman Desktop Light 7.1.lnk" Directory="DesktopFolder" On="both" />
|
||||
<RemoveFile Id="Version70ShortcutConfig" Name="Keyman Configuration.lnk" Directory="ProgramMenuDirLight70" On="both" />
|
||||
<RemoveFile Id="Version71ShortcutConfig" Name="Keyman Configuration.lnk" Directory="ProgramMenuDirLight71" On="both" />
|
||||
|
||||
|
||||
<RemoveFile Id="Version70ShortcutKeymanP" Name="Keyman Desktop Professional 7.0.lnk" Directory="ProgramMenuDirPro70" On="both" />
|
||||
<RemoveFile Id="Version71ShortcutKeymanP" Name="Keyman Desktop Professional 7.1.lnk" Directory="ProgramMenuDirPro71" On="both" />
|
||||
<RemoveFile Id="Version70ShortcutKeymanDP" Name="Keyman Desktop Professional 7.0.lnk" Directory="DesktopFolder" On="both" />
|
||||
<RemoveFile Id="Version71ShortcutKeymanDP" Name="Keyman Desktop Professional 7.1.lnk" Directory="DesktopFolder" On="both" />
|
||||
<RemoveFile Id="Version70ShortcutConfigP" Name="Keyman Configuration.lnk" Directory="ProgramMenuDirPro70" On="both" />
|
||||
<RemoveFile Id="Version71ShortcutConfigP" Name="Keyman Configuration.lnk" Directory="ProgramMenuDirPro71" On="both" />
|
||||
|
||||
<RemoveFolder Id="Version70ShortcutsL" Directory="ProgramMenuDirLight70" On="both" />
|
||||
<RemoveFolder Id="Version70ShortcutsP" Directory="ProgramMenuDirPro70" On="both" />
|
||||
<RemoveFolder Id="Version71ShortcutsL" Directory="ProgramMenuDirLight71" On="both" />
|
||||
<RemoveFolder Id="Version71ShortcutsP" Directory="ProgramMenuDirPro71" On="both" />
|
||||
|
||||
<RemoveFile Id="Version80ShortcutKeyman" Name="Keyman Desktop 8.0.lnk" Directory="ProgramMenuDir80" On="both" />
|
||||
<RemoveFile Id="Version80ShortcutKeymanD" Name="Keyman Desktop 8.0.lnk" Directory="DesktopFolder" On="both" />
|
||||
<RemoveFile Id="Version80ShortcutConfig" Name="Keyman Configuration.lnk" Directory="ProgramMenuDir80" On="both" />
|
||||
<RemoveFolder Id="Version80Shortcuts" Directory="ProgramMenuDir80" On="both" />
|
||||
|
||||
<!-- 9.0 -->
|
||||
<RemoveFile Id="Version90ShortcutKeyman" Name="Keyman Desktop 9.0.lnk" Directory="ProgramMenuDir90" On="both" />
|
||||
<RemoveFile Id="Version90ShortcutKeymanD" Name="Keyman Desktop 9.0.lnk" Directory="DesktopFolder" On="both" />
|
||||
<RemoveFile Id="Version90ShortcutConfig" Name="Keyman Configuration.lnk" Directory="ProgramMenuDir90" On="both" />
|
||||
<RemoveFolder Id="Version90Shortcuts" Directory="ProgramMenuDir90" On="both" />
|
||||
|
||||
<!-- 10.0 -->
|
||||
<RemoveFile Id="Version100ShortcutKeyman" Name="Keyman Desktop.lnk" Directory="ProgramMenuDir100" On="both" />
|
||||
<RemoveFile Id="Version100ShortcutKeymanD" Name="Keyman Desktop.lnk" Directory="DesktopFolder" On="both" />
|
||||
<RemoveFile Id="Version100ShortcutConfig" Name="Keyman Configuration.lnk" Directory="ProgramMenuDir100" On="both" />
|
||||
<RemoveFolder Id="Version100Shortcuts" Directory="ProgramMenuDir100" On="both" />
|
||||
</Component>
|
||||
|
||||
<!-- Subdirs -->
|
||||
<Directory Id="LocaleDir" Name="locale" />
|
||||
<Directory Id="dir_sentry_0.6.0" Name="sentry-0.6.0" />
|
||||
</Directory>
|
||||
</Directory>
|
||||
</Directory>
|
||||
</StandardDirectory>
|
||||
|
||||
<StandardDirectory Id="ProgramMenuFolder">
|
||||
<Directory Id="ProgramMenuDir" Name="Keyman for Windows" />
|
||||
<Directory Id="ProgramMenuDirLight70" Name="Tavultesoft Keyman Desktop Light 7.0" />
|
||||
<Directory Id="ProgramMenuDirLight71" Name="Tavultesoft Keyman Desktop Light 7.1" />
|
||||
<Directory Id="ProgramMenuDirPro70" Name="Tavultesoft Keyman Desktop Professional 7.0" />
|
||||
<Directory Id="ProgramMenuDirPro71" Name="Tavultesoft Keyman Desktop Professional 7.1" />
|
||||
<Directory Id="ProgramMenuDir80" Name="Tavultesoft Keyman Desktop 8.0" />
|
||||
<Directory Id="ProgramMenuDir90" Name="Tavultesoft Keyman Desktop 9.0" />
|
||||
<Directory Id="ProgramMenuDir100" Name="Keyman Desktop" />
|
||||
</StandardDirectory>
|
||||
|
||||
<StandardDirectory Id="DesktopFolder" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</Package>
|
||||
|
||||
|
||||
</Wix>
|
||||
|
|
|
|||
|
|
@ -34,15 +34,29 @@ function do_publish() {
|
|||
#
|
||||
# Build the installation archive
|
||||
#
|
||||
"$WIXCANDLE" -dKEYMAN_VERSION=$KEYMAN_VERSION_WIN -dRELEASE=$KEYMAN_VERSION_RELEASE -ext WixUtilExtension keymanengine.wxs components.wxs
|
||||
#"$WIXCANDLE" -dKEYMAN_VERSION=$KEYMAN_VERSION_WIN -dRELEASE=$KEYMAN_VERSION_RELEASE -ext WixUtilExtension keymanengine.wxs components.wxs
|
||||
|
||||
# warning 1072 relates to Error table defined by WixUtilExtension. Doesn't really affect us.
|
||||
"$WIXLIGHT" \
|
||||
-sw1072 \
|
||||
-ext WixUtilExtension \
|
||||
"$WIXLIGHTCOMPRESSION" \
|
||||
keymanengine.wixobj components.wixobj \
|
||||
-o keymanengine.msm
|
||||
#"$WIXLIGHT" \
|
||||
# -sw1072 \
|
||||
# -ext WixUtilExtension \
|
||||
# "$WIXLIGHTCOMPRESSION" \
|
||||
# keymanengine.wixobj components.wixobj \
|
||||
# -o keymanengine.msm
|
||||
#wix build keymanengine.wxs components.wxs \
|
||||
#-ext WixToolset.Util.wixext \
|
||||
#-d KEYMAN_VERSION=$KEYMAN_VERSION_WIN \
|
||||
#-d RELEASE=$KEYMAN_VERSION_RELEASE \
|
||||
#-sw1072 \
|
||||
#-out keymanengine.msm
|
||||
wix build -d KEYMAN_VERSION=$env:KEYMAN_VERSION -d RELEASE=$env:KEYMAN_VERSION_RELEASE keymanengine.wxs components.wxs -ext WixToolset.Util.wixext -sw1072 -out keymanengine.msm
|
||||
|
||||
|
||||
echo $KEYMAN_VERSION_RELEASE
|
||||
echo $KEYMAN_VERSION_WIN
|
||||
echo $KEYMAN_VERSION
|
||||
echo $RELEASE
|
||||
|
||||
|
||||
#
|
||||
# Sign the installation archive
|
||||
|
|
|
|||
|
|
@ -1,10 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
||||
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
|
||||
<Fragment>
|
||||
<ComponentGroup Id="KeymanEngineComponents" Directory="INSTALLDIR" Source="..\..\..\bin\engine\">
|
||||
<Component Id="kmcomapi.dll" Guid="{6272B8A9-B41E-49B1-A65B-23BCFDB42167}" SharedDllRefCount="yes">
|
||||
<File Id="kmcomapi.dll" Name="kmcomapi.dll" KeyPath="yes" >
|
||||
<File Id="kmcomapi.dll" Name="kmcomapi.dll" KeyPath="yes">
|
||||
<TypeLib Id="{F16E2A9A-DA46-4EA3-BFF3-BA46B480C961}" Description="Keyman API Library" Language="0" MajorVersion="1" MinorVersion="5">
|
||||
<Class Id="{CF46549D-4D2D-4679-A2E1-23A815F172F8}" Context="InprocServer32" Description="Keyman Object" ThreadingModel="apartment" Version="$(var.RELEASE)">
|
||||
<ProgId Id="keymanapi.Keyman" Description="Keyman Object" />
|
||||
|
|
@ -51,8 +49,8 @@
|
|||
</File>
|
||||
</Component>
|
||||
|
||||
<Component Id="kmcomapi.x64.dll" Guid="{8AE57882-9901-4E53-B6B1-F78DD7707050}" SharedDllRefCount="yes" Win64="yes">
|
||||
<Condition>VersionNT64</Condition>
|
||||
<Component Id="kmcomapi.x64.dll" Guid="{8AE57882-9901-4E53-B6B1-F78DD7707050}" SharedDllRefCount="yes" Condition="VersionNT64" Bitness="always64">
|
||||
|
||||
<File Id="kmcomapi.x64.dll" Name="kmcomapi.x64.dll" KeyPath="yes">
|
||||
<TypeLib Id="{F16E2A9A-DA46-4EA3-BFF3-BA46B480C961}" Description="Keyman API Library (64-bit)" Language="0" MajorVersion="1" MinorVersion="5">
|
||||
<Class Id="{CF46549D-4D2D-4679-A2E1-23A815F172F8}" Context="InprocServer32" Description="Keyman Object" ThreadingModel="apartment" Version="$(var.RELEASE)">
|
||||
|
|
@ -130,7 +128,7 @@
|
|||
<RegistryValue Root="HKCR" Key="Keyman.File.Diagnostics" Type="string" Value="Keyman Diagnostics File" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Diagnostics\Shell" Type="string" Value="open" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Diagnostics\Shell\open" Type="string" Value="&Open" />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Diagnostics\Shell\open\Command" Type="string" Value='"[#tsysinfo.exe]" "%1"' />
|
||||
<RegistryValue Root="HKCR" Key="Keyman.File.Diagnostics\Shell\open\Command" Type="string" Value=""[#tsysinfo.exe]" "%1"" />
|
||||
</Component>
|
||||
|
||||
<Component Guid="{4210C15D-0121-40BE-9B09-1576C08C4A78}">
|
||||
|
|
@ -142,51 +140,44 @@
|
|||
</Component>
|
||||
|
||||
<Component Guid="{6B6EF05E-E60A-4902-B5F5-EEB3F8AAB384}">
|
||||
<File Id="keymanhp.x64.exe" Name='keymanhp.x64.exe' KeyPath="yes" Source="..\..\..\bin\engine\keymanhp.x64.exe" />
|
||||
<File Id="keymanhp.x64.exe" Name="keymanhp.x64.exe" KeyPath="yes" Source="..\..\..\bin\engine\keymanhp.x64.exe" />
|
||||
</Component>
|
||||
|
||||
<Component Guid="{65E99D02-6B68-4840-BEE2-0FADB0ED67A0}">
|
||||
<File Id="keymanhp.arm64.exe" Name='keymanhp.arm64.exe' KeyPath="yes" Source="..\..\..\bin\engine\keymanhp.arm64.exe" />
|
||||
<File Id="keymanhp.arm64.exe" Name="keymanhp.arm64.exe" KeyPath="yes" Source="..\..\..\bin\engine\keymanhp.arm64.exe" />
|
||||
</Component>
|
||||
|
||||
<Component Guid="{FB88ED52-C8F9-44F8-91F2-D0E377504C0D}">
|
||||
<File Id="mcompile.exe" Name='mcompile.exe' KeyPath="yes" Source="..\..\..\bin\engine\mcompile.exe" />
|
||||
<File Id="mcompile.exe" Name="mcompile.exe" KeyPath="yes" Source="..\..\..\bin\engine\mcompile.exe" />
|
||||
</Component>
|
||||
|
||||
<Component Guid="{7D3374DC-7B4E-4593-819E-B212E876BDAF}">
|
||||
<File Id="keymanmc.dll" Name="keymanmc.dll" KeyPath="yes" Source="..\..\..\bin\engine\keymanmc.dll" />
|
||||
<util:EventSource
|
||||
CategoryCount="1"
|
||||
CategoryMessageFile="[#keymanmc.dll]"
|
||||
EventMessageFile="[#keymanmc.dll]"
|
||||
Log="Application"
|
||||
Name="Keyman"
|
||||
SupportsInformationals="yes"
|
||||
SupportsErrors="yes"
|
||||
SupportsWarnings="yes"
|
||||
/>
|
||||
<util:EventSource CategoryCount="1" CategoryMessageFile="[#keymanmc.dll]" EventMessageFile="[#keymanmc.dll]" Log="Application" Name="Keyman" SupportsInformationals="yes" SupportsErrors="yes" SupportsWarnings="yes" />
|
||||
</Component>
|
||||
|
||||
<Component Guid="*">
|
||||
<File Id="kmrefresh.x86.exe" KeyPath="yes" />
|
||||
|
||||
|
||||
<Component Id="kmrefresh.x86.exe">
|
||||
<File Id="kmrefresh.x86.exe" KeyPath="yes" Source="..\..\..\bin\engine\kmrefresh.x86.exe"/>
|
||||
</Component>
|
||||
|
||||
<Component Guid="*">
|
||||
<File Id="kmrefresh.x64.exe" KeyPath="yes" />
|
||||
<Component Id="kmrefresh.x64.exe">
|
||||
<File Id="kmrefresh.x64.exe" KeyPath="yes" Source="..\..\..\bin\engine\kmrefresh.x64.exe"/>
|
||||
</Component>
|
||||
|
||||
<Component Guid="{FA89BC70-11F3-4DAF-A0B4-6EBA64FC6C5C}" Id="tsysinfo.xslts">
|
||||
<File Id="base.xslt" Name='base.xslt' Source='..\..\engine\tsysinfo\base.xslt' />
|
||||
<File Id="si_browsers.xslt" Name='si_browsers.xslt' Source='..\..\engine\tsysinfo\si_browsers.xslt' />
|
||||
<File Id="si_fonts.xslt" Name='si_fonts.xslt' Source='..\..\engine\tsysinfo\si_fonts.xslt' />
|
||||
<File Id="si_hookdlls.xslt" Name='si_hookdlls.xslt' Source='..\..\engine\tsysinfo\si_hookdlls.xslt' />
|
||||
<File Id="si_keyman.xslt" Name='si_keyman.xslt' Source='..\..\engine\tsysinfo\si_keyman.xslt' />
|
||||
<File Id="si_language.xslt" Name='si_language.xslt' Source='..\..\engine\tsysinfo\si_language.xslt' />
|
||||
<File Id="si_office.xslt" Name='si_office.xslt' Source='..\..\engine\tsysinfo\si_office.xslt' />
|
||||
<File Id="si_overview.xslt" Name='si_overview.xslt' Source='..\..\engine\tsysinfo\si_overview.xslt' />
|
||||
<File Id="si_processes.xslt" Name='si_processes.xslt' Source='..\..\engine\tsysinfo\si_processes.xslt' />
|
||||
<File Id="si_processes_x64.xslt" Name='si_processes_x64.xslt' Source='..\..\engine\tsysinfo\si_processes_x64.xslt' />
|
||||
<File Id="si_startup.xslt" Name='si_startup.xslt' Source='..\..\engine\tsysinfo\si_startup.xslt' />
|
||||
<File Id="base.xslt" Name="base.xslt" Source="..\..\engine\tsysinfo\base.xslt" />
|
||||
<File Id="si_browsers.xslt" Name="si_browsers.xslt" Source="..\..\engine\tsysinfo\si_browsers.xslt" />
|
||||
<File Id="si_fonts.xslt" Name="si_fonts.xslt" Source="..\..\engine\tsysinfo\si_fonts.xslt" />
|
||||
<File Id="si_hookdlls.xslt" Name="si_hookdlls.xslt" Source="..\..\engine\tsysinfo\si_hookdlls.xslt" />
|
||||
<File Id="si_keyman.xslt" Name="si_keyman.xslt" Source="..\..\engine\tsysinfo\si_keyman.xslt" />
|
||||
<File Id="si_language.xslt" Name="si_language.xslt" Source="..\..\engine\tsysinfo\si_language.xslt" />
|
||||
<File Id="si_office.xslt" Name="si_office.xslt" Source="..\..\engine\tsysinfo\si_office.xslt" />
|
||||
<File Id="si_overview.xslt" Name="si_overview.xslt" Source="..\..\engine\tsysinfo\si_overview.xslt" />
|
||||
<File Id="si_processes.xslt" Name="si_processes.xslt" Source="..\..\engine\tsysinfo\si_processes.xslt" />
|
||||
<File Id="si_processes_x64.xslt" Name="si_processes_x64.xslt" Source="..\..\engine\tsysinfo\si_processes_x64.xslt" />
|
||||
<File Id="si_startup.xslt" Name="si_startup.xslt" Source="..\..\engine\tsysinfo\si_startup.xslt" />
|
||||
</Component>
|
||||
|
||||
<Component Id="kmtip.dll" Guid="{48060517-BD85-494C-B2FF-F9C4FFE1A987}" SharedDllRefCount="yes">
|
||||
|
|
@ -215,8 +206,8 @@
|
|||
</RegistryKey>
|
||||
</Component>
|
||||
|
||||
<Component Guid="{238931D6-CC32-4C71-8455-887318F2A963}" Id="kmtip_reg_win8">
|
||||
<Condition>VersionNT >= 602</Condition>
|
||||
<Component Guid="{238931D6-CC32-4C71-8455-887318F2A963}" Id="kmtip_reg_win8" Condition="VersionNT >= 602">
|
||||
|
||||
|
||||
<RegistryValue KeyPath="yes" Id="registry_win8_keypath" Root="HKLM" Key="Software\Keyman\Keyman Engine" Name="win8 tip install" Value="installed" Type="string" />
|
||||
|
||||
|
|
@ -234,16 +225,16 @@
|
|||
</RegistryKey>
|
||||
</Component>
|
||||
|
||||
<Component Id="kmtip64.dll" Guid="{7511B389-24C5-4C79-9050-934791014682}" SharedDllRefCount="yes" Win64="yes">
|
||||
<Condition>VersionNT64</Condition>
|
||||
<Component Id="kmtip64.dll" Guid="{7511B389-24C5-4C79-9050-934791014682}" SharedDllRefCount="yes" Condition="VersionNT64" Bitness="always64">
|
||||
|
||||
<File Id="kmtip64.dll" Name="kmtip64.dll" KeyPath="yes" Source="..\..\..\bin\engine\kmtip64.dll">
|
||||
<Class Id="FE0420F1-38D1-4B4C-96BF-E7E20A74CFB7" Context="InprocServer32" ThreadingModel="apartment" Description="Keyman Engine Text Service x64" />
|
||||
</File>
|
||||
<!-- we will register post-install? -->
|
||||
</Component>
|
||||
|
||||
<Component Id="kmtiparm64.dll" Guid="{BDF0DAFB-09F9-4121-9859-90E847EA75F8}" SharedDllRefCount="yes" Win64="yes">
|
||||
<Condition>VersionNT64 AND ProcessorArchitecture="ARM64"</Condition>
|
||||
<Component Id="kmtiparm64.dll" Guid="{BDF0DAFB-09F9-4121-9859-90E847EA75F8}" SharedDllRefCount="yes" Condition="VersionNTARM64" Bitness="always64">
|
||||
|
||||
<File Id="kmtiparm64.dll" Name="kmtiparm64.dll" KeyPath="yes" Source="..\..\..\bin\engine\kmtiparm64.dll">
|
||||
<Class Id="FE0420F1-38D1-4B4C-96BF-E7E20A74CFB7" Context="InprocServer32" ThreadingModel="apartment" Description="Keyman Engine Text Service ARM64" />
|
||||
</File>
|
||||
|
|
@ -260,16 +251,16 @@
|
|||
|
||||
<ComponentGroup Id="KeymanEngineSentryComponents" Directory="dir_sentry_0.6.0" Source="..\..\..\bin\engine">
|
||||
<Component Guid="{95AB1B5C-2556-4282-B327-E2E417B26926}">
|
||||
<File Id="sentry.dll" KeyPath="yes" />
|
||||
<File Id="sentry.dll" Name="sentry.dll" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component Guid="{3E5DACB3-055A-41EC-8890-15A30A40548B}">
|
||||
<File Id="sentry.x64.dll" KeyPath="yes" />
|
||||
<File Id="sentry.x64.dll" Name="sentry.x64.dll" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component Guid="{B63B5989-7303-469E-AD00-BFAEEE38D1D3}">
|
||||
<File Id="sentry.arm64.dll" KeyPath="yes" />
|
||||
<File Id="sentry.arm64.dll" Name="sentry.arm64.dll" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component Guid="{AA5AF288-4D67-49F4-A10B-E5725A42599B}">
|
||||
<File Name="crashpad_handler.exe" KeyPath="yes" />
|
||||
<File Id="crashpad_handler.exe" Name="crashpad_handler.exe" KeyPath="yes" />
|
||||
</Component>
|
||||
</ComponentGroup>
|
||||
</Fragment>
|
||||
|
|
|
|||
|
|
@ -1,15 +1,23 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Module Id="engine" Version="$(var.KEYMAN_VERSION)" Language="1033">
|
||||
<Package Id="{CE38CB16-4448-4432-851B-B3FCE3AF464F}" Keywords="Keyman,Keyboard,Engine"
|
||||
Description="Keyman Engine $(var.RELEASE)" Comments="Contact: Your local administrator"
|
||||
Manufacturer="SIL International" InstallerVersion="200" Platform="x86" Languages="1033" SummaryCodepage="1252" />
|
||||
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
|
||||
<Module Id="engine" Version="$(var.KEYMAN_VERSION)" Language="1033" Guid="{CE38CB16-4448-4432-851B-B3FCE3AF464F}" InstallerVersion="200"><SummaryInformation Keywords="Keyman,Keyboard,Engine" Description="Keyman Engine $(var.RELEASE)" Manufacturer="SIL International" />
|
||||
|
||||
<ComponentGroupRef Id="KeymanEngineComponents" />
|
||||
<ComponentGroupRef Id="KeymanEngineSentryComponents" />
|
||||
|
||||
<Directory Id="TARGETDIR" Name="SourceDir" ComponentGuidGenerationSeed="50d43807-710f-4ed9-b503-637558eb0651">
|
||||
<Directory Id="CommonFilesFolder">
|
||||
|
||||
|
||||
<CustomAction Id="PreUninstallA" Execute="deferred" Impersonate="no" DllEntry="PreUninstall" BinaryRef="insthelper.dll" />
|
||||
<CustomAction Id="EnginePostInstall" Execute="deferred" Impersonate="no" DllEntry="EnginePostInstall" BinaryRef="insthelper.dll" />
|
||||
|
||||
<InstallExecuteSequence>
|
||||
<Custom Action="PreUninstallA" After="InstallInitialize" Condition="REMOVE="ALL" And Not REINSTALL And Not UPGRADINGPRODUCTCODE" />
|
||||
<Custom Action="EnginePostInstall" Before="InstallFinalize" Condition="NOT Installed OR UPGRADINGPRODUCTCODE Or REINSTALL" />
|
||||
</InstallExecuteSequence>
|
||||
|
||||
<Binary Id="insthelper.dll" SourceFile="..\..\..\bin\engine\insthelper.dll" />
|
||||
|
||||
|
||||
<StandardDirectory Id="CommonFilesFolder">
|
||||
<Directory Id="KEYMANROOT" Name="Keyman">
|
||||
<Directory Id="KEYMAN_ENGINE" Name="Keyman Engine">
|
||||
<Directory Id="INSTALLDIR">
|
||||
|
|
@ -21,30 +29,30 @@
|
|||
guid rules with merge modules, as we end up with LGHT0231, as the CommonFilesFolder root folder seems to be
|
||||
ignored when building the merge module. Therefore we list these files in a single component for now. -->
|
||||
<File Id="osk.xsl" Name="osk.xsl" />
|
||||
<File Id="keyaltl.gif" Name="key-altl.gif" />
|
||||
<File Id="keyaltr.gif" Name="key-altr.gif" />
|
||||
<File Id="keybackspace.gif" Name="key-backspace.gif" />
|
||||
<File Id="keybkslash.gif" Name="key-bkslash.gif" />
|
||||
<File Id="keycapslock.gif" Name="key-capslock.gif" />
|
||||
<File Id="keyctrll.gif" Name="key-ctrll.gif" />
|
||||
<File Id="keyctrlr.gif" Name="key-ctrlr.gif" />
|
||||
<File Id="keyenter.gif" Name="key-enter.gif" />
|
||||
<File Id="keyplain.gif" Name="key-plain.gif" />
|
||||
<File Id="keyshift102.gif" Name="key-shift102.gif" />
|
||||
<File Id="keyshiftl.gif" Name="key-shiftl.gif" />
|
||||
<File Id="keyshiftr.gif" Name="key-shiftr.gif" />
|
||||
<File Id="keyspace.gif" Name="key-space.gif" />
|
||||
<File Id="keytab.gif" Name="key-tab.gif" />
|
||||
<File Id="keyaltl.gif" Name="key-altl.gif" />
|
||||
<File Id="keyaltr.gif" Name="key-altr.gif" />
|
||||
<File Id="keybackspace.gif" Name="key-backspace.gif" />
|
||||
<File Id="keybkslash.gif" Name="key-bkslash.gif" />
|
||||
<File Id="keycapslock.gif" Name="key-capslock.gif" />
|
||||
<File Id="keyctrll.gif" Name="key-ctrll.gif" />
|
||||
<File Id="keyctrlr.gif" Name="key-ctrlr.gif" />
|
||||
<File Id="keyenter.gif" Name="key-enter.gif" />
|
||||
<File Id="keyplain.gif" Name="key-plain.gif" />
|
||||
<File Id="keyshift102.gif" Name="key-shift102.gif" />
|
||||
<File Id="keyshiftl.gif" Name="key-shiftl.gif" />
|
||||
<File Id="keyshiftr.gif" Name="key-shiftr.gif" />
|
||||
<File Id="keyspace.gif" Name="key-space.gif" />
|
||||
<File Id="keytab.gif" Name="key-tab.gif" />
|
||||
</Component>
|
||||
</Directory>
|
||||
</Directory>
|
||||
</Directory>
|
||||
</Directory>
|
||||
</Directory>
|
||||
</Directory>
|
||||
</StandardDirectory>
|
||||
|
||||
<Directory Id="CommonAppDataFolder" Name="CADF">
|
||||
<Directory Id="CommonApp_KeymanRoot" Name="Keyman" >
|
||||
<StandardDirectory Id="CommonAppDataFolder">
|
||||
<Directory Id="CommonApp_KeymanRoot" Name="Keyman">
|
||||
<Directory Id="CommonApp_TS_Keyman" Name="Keyman Engine">
|
||||
<Directory Id="CommonApp_TS_Keyman_Kbd" Name="Keyboard">
|
||||
<Directory Id="CommonApp_TS_Keyman_Kbd_Pkg" Name="_Package" />
|
||||
|
|
@ -61,9 +69,9 @@
|
|||
<RemoveFolder Id="CAD_ts_Keyman_Kbd_Pkg_Uninst" On="uninstall" Directory="CommonApp_TS_Keyman_Kbd_Pkg" />
|
||||
</Component>
|
||||
</Directory>
|
||||
</Directory>
|
||||
<Directory Id="AppDataFolder" Name="ADF">
|
||||
<Directory Id="App_KeymanRoot" Name="Keyman" >
|
||||
</StandardDirectory>
|
||||
<StandardDirectory Id="AppDataFolder">
|
||||
<Directory Id="App_KeymanRoot" Name="Keyman">
|
||||
<Directory Id="App_TS_Keyman" Name="Keyman Engine">
|
||||
<Directory Id="App_TS_Keyman_Keyboard" Name="Keyboard">
|
||||
<Directory Id="App_TS_Keyman_Kbd_Pkg" Name="_Package" />
|
||||
|
|
@ -80,18 +88,6 @@
|
|||
<RemoveFolder Id="AD_ts_Keyman_Kbd_Pkg_Uninst" On="uninstall" Directory="App_TS_Keyman_Kbd_Pkg" />
|
||||
</Component>
|
||||
</Directory>
|
||||
</Directory>
|
||||
</Directory>
|
||||
|
||||
<CustomAction Id="PreUninstallA" Execute="deferred" Impersonate="no" BinaryKey="insthelper.dll" DllEntry="PreUninstall" />
|
||||
<CustomAction Id="EnginePostInstall" Execute="deferred" Impersonate="no" BinaryKey="insthelper.dll" DllEntry="EnginePostInstall" />
|
||||
|
||||
<InstallExecuteSequence>
|
||||
<Custom Action="PreUninstallA" After="InstallInitialize"><![CDATA[REMOVE="ALL" And Not REINSTALL And Not UPGRADINGPRODUCTCODE]]></Custom>
|
||||
<Custom Action="EnginePostInstall" Before="InstallFinalize"><![CDATA[NOT Installed OR UPGRADINGPRODUCTCODE Or REINSTALL]]></Custom>
|
||||
</InstallExecuteSequence>
|
||||
|
||||
<Binary Id="insthelper.dll" SourceFile="..\..\..\bin\engine\insthelper.dll" />
|
||||
|
||||
</Module>
|
||||
</StandardDirectory>
|
||||
</Module>
|
||||
</Wix>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue