| <?xml version='1.0' encoding='utf-8'?> |
| <!-- |
| Copyright 2010-2015, Google Inc. |
| All rights reserved. |
| |
| Redistribution and use in source and binary forms, with or without |
| modification, are permitted provided that the following conditions are |
| met: |
| |
| * Redistributions of source code must retain the above copyright |
| notice, this list of conditions and the following disclaimer. |
| * Redistributions in binary form must reproduce the above |
| copyright notice, this list of conditions and the following disclaimer |
| in the documentation and/or other materials provided with the |
| distribution. |
| * Neither the name of Google Inc. nor the names of its |
| contributors may be used to endorse or promote products derived from |
| this software without specific prior written permission. |
| |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| --> |
| |
| |
| <?ifdef var.MozcVersionFile ?> |
| <?include $(var.MozcVersionFile) ?> |
| <?endif?> |
| |
| <!-- Define variables with default values if not exist. WiX compiler does not |
| allow to use any undefined variable even when the variable is referenced |
| between ifdef conditional block. --> |
| <?ifndef MozcZinniaModelDataPath ?> |
| <?define MozcZinniaModelDataPath="" ?> |
| <?endif?> |
| <?ifndef DebugCrtMergeModuleIdPrefix ?> |
| <?define DebugCrtMergeModuleIdPrefix="" ?> |
| <?endif?> |
| <?ifndef ReleaseCrtMergeModuleIdPrefix ?> |
| <?define ReleaseCrtMergeModuleIdPrefix="" ?> |
| <?endif?> |
| <?ifndef DebugCrtMergeModulePath ?> |
| <?define DebugCrtMergeModulePath="" ?> |
| <?endif?> |
| <?ifndef ReleaseCrtMergeModulePath ?> |
| <?define ReleaseCrtMergeModulePath="" ?> |
| <?endif?> |
| <?ifndef QtCore4DllPath ?> |
| <?define QtCore4DllPath="" ?> |
| <?endif?> |
| <?ifndef QtCored4DllPath ?> |
| <?define QtCored4DllPath="" ?> |
| <?endif?> |
| <?ifndef QtGui4DllPath ?> |
| <?define QtGui4DllPath="" ?> |
| <?endif?> |
| <?ifndef QtGuid4DllPath ?> |
| <?define QtGuid4DllPath="" ?> |
| <?endif?> |
| |
| <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'> |
| |
| <!-- |
| It appears that Windows Installer emits error on upgrade saying "Another |
| version of this product is already installed" unless we change the product |
| ID even when we follow the instructions in "Changing the Product Code" |
| http://msdn.microsoft.com/en-us/library/aa367850.aspx. |
| So we change the product ID for every new version. |
| --> |
| <Product Name='Google 日本語入力' Id='*' |
| Language='1041' Codepage='932' Version='$(var.MozcVersion)' |
| Manufacturer='Google Inc.' UpgradeCode='$(var.UpgradeCode)'> |
| |
| <Package Keywords='Installer' Description='Google 日本語入力 インストーラー' |
| Manufacturer='Google Inc.' Languages='1041' SummaryCodepage='932' |
| InstallerVersion='300' InstallPrivileges='elevated' |
| Compressed='yes' Platform='x64' /> |
| |
| <!-- Check if the user have the administrative privileges. --> |
| <Condition |
| Message='Google 日本語入力をインストールするには管理者権限が必要です。'> |
| Privileged |
| </Condition> |
| <Media Id='1' Cabinet='GoogleJapaneseInput.cab' EmbedCab='yes' |
| CompressionLevel='high'/> |
| |
| <!-- Set Add/Remove Program Icon --> |
| <Icon Id="add_remove_program_icon.ico" |
| SourceFile="$(var.AddRemoveProgramIconPath)" /> |
| <Property Id="ARPPRODUCTICON" |
| Value="add_remove_program_icon.ico" /> |
| |
| <!-- Install the product for all users. --> |
| <Property Id='ALLUSERS' Value='1' /> |
| |
| <!-- Disable Modify and Repair buttons. --> |
| <Property Id='ARPNOMODIFY' Value='1' /> |
| <Property Id='ARPNOREPAIR' Value='1' /> |
| |
| <!-- |
| A fail-fast mechanism against channel mismatch. Currently we focus on |
| preventing existing/initial beta users from upgrading/installing |
| dev package by mistakes in update configuration. |
| Note that we should allow users to uninstall the product regardless of |
| the registered channel name. Never remove (REMOVE="ALL") from the |
| condition below. |
| --> |
| <?if ($(var.VSConfigurationName) = "Release") and ($(var.OmahaChannelType) = "dev") ?> |
| <!-- Retrieves previous channel name for Omaha --> |
| <Property Id="PREVIOUSCHANNELNAME"> |
| <RegistrySearch Id='OmahaApValue' Type='raw' Root='HKLM' |
| Key='$(var.OmahaClientStateKey)' Name='ap' Win64='no'> |
| </RegistrySearch> |
| </Property> |
| |
| <Condition |
| Message='このパッケージは開発版です。配布サーバーの設定ミスの可能性があるため、インストールを中止しました。Google 日本語入力チームまでご連絡下さい。'> |
| (PREVIOUSCHANNELNAME="external-dev64") OR |
| (PREVIOUSCHANNELNAME="internal-dev64") OR |
| (PREVIOUSCHANNELNAME="external-dev-universal") OR |
| (PREVIOUSCHANNELNAME="internal-dev-universal") OR |
| (REMOVE="ALL") |
| </Condition> |
| <?endif?> |
| |
| <Directory Id='TARGETDIR' Name='SourceDir'> |
| <!-- Install CRT DLLs. |
| Better not to in include policy MSMs. |
| http://blogs.msdn.com/b/astebner/archive/2007/02/13/building-an-msi-using-wix-v3-0-that-includes-the-vc-8-0-runtime-merge-modules.aspx |
| --> |
| <?if $(var.VSConfigurationName) = "Debug" ?> |
| <?if $(var.DebugCrtMergeModuleIdPrefix) != "" ?> |
| <Merge Id='$(var.DebugCrtMergeModuleIdPrefix)' Language='0' |
| DiskId='1' SourceFile='$(var.DebugCrtMergeModulePath)' /> |
| <?endif?> |
| <?else?> |
| <?if $(var.ReleaseCrtMergeModuleIdPrefix) != "" ?> |
| <Merge Id='$(var.ReleaseCrtMergeModuleIdPrefix)' Language='0' |
| DiskId='1' SourceFile='$(var.ReleaseCrtMergeModulePath)' /> |
| <?endif?> |
| <?endif?> |
| <Directory Id='SystemFolder'> |
| <Component Id='GIMEJaIME32' Guid='*' Permanent='no'> |
| <File Id='GIMEJa32.ime' Name='GIMEJa.ime' |
| DiskId='1' Checksum='yes' |
| Source='$(var.MozcIME32Path)' Vital='yes' /> |
| </Component> |
| </Directory> |
| <Directory Id='System64Folder'> |
| <Component Id='GIMEJaIME64' Guid='*' Permanent='no' Win64='yes'> |
| <Condition>VersionNT64</Condition> |
| <File Id='GIMEJa64.ime' Name='GIMEJa.ime' |
| DiskId='1' Checksum='yes' |
| Source='$(var.MozcIME64Path)' Vital='yes' /> |
| </Component> |
| </Directory> |
| <Directory Id='ProgramFilesFolder' Name='PFiles'> |
| <Directory Id='GoogleDir' Name='Google'> |
| <Directory Id='GIMEJaDir' Name='Google Japanese Input'> |
| <Component Id='GIMEJaConverter' Guid='*'> |
| <File Id='GoogleIMEJaConverter.exe' |
| Name='GoogleIMEJaConverter.exe' DiskId='1' |
| Checksum='yes' Source='$(var.MozcServer32Path)' Vital='yes' /> |
| </Component> |
| <Component Id='GIMEJaCacheService' Guid='*'> |
| <File Id='GoogleIMEJaCacheService.exe' |
| Name='GoogleIMEJaCacheService.exe' DiskId='1' |
| Checksum='yes' Source='$(var.MozcCacheService32Path)' |
| Vital='yes' KeyPath='yes' /> |
| <!-- |
| Localized description of a Win32 service is not supported until |
| Windows Vista. |
| http://msdn.microsoft.com/en-us/library/ms685156.aspx |
| To use localized description in Vista or later, |
| set Description like this: |
| Description='@[#GoogleIMEJaCacheService.exe],-100' |
| where 100 is the resource ID for the description. |
| |
| Parameters 'Name', 'DisplayName', 'Description' have to be |
| synced manually to the ones defined in cache_manager. |
| TODO(yukawa): Share these parameters. http://b/2357270 |
| --> |
| <ServiceInstall Id='GoogleIMEJaCacheService' |
| Name='GoogleIMEJaCacheService' |
| DisplayName='Google Japanese Input Cache Service' |
| Description='Google 日本語入力 の辞書を常に物理メモリに配置し、変換を高速化します。停止しても日本語入力はできますが、パフォーマンスが低下する場合があります。' |
| Type='ownProcess' Start='auto' ErrorControl='normal' /> |
| <!-- |
| The following entry which stops our cache service both on |
| installation and uninstallation should be the first entry in |
| the ServiceControl table. Otherwise, restart manager does not |
| recognise that the specified service will be stopped during the |
| instalaltion. See http://b/2440272 for details. |
| --> |
| <ServiceControl Id='StopGoogleIMEJaCacheService' |
| Name='GoogleIMEJaCacheService' Stop='both' Remove='uninstall' |
| Wait='yes' /> |
| </Component> |
| <Component Id='GIMEJaTIP32' Guid='*' Permanent='no'> |
| <File Id='GoogleIMEJaTIP32.dll' |
| Name='GoogleIMEJaTIP32.dll' |
| DiskId='1' Checksum='yes' |
| Source='$(var.MozcTIP32Path)' Vital='yes' /> |
| </Component> |
| <Component Id='GIMEJaTIP64' Guid='*' Permanent='no'> |
| <File Id='GoogleIMEJaTIP64.dll' |
| Name='GoogleIMEJaTIP64.dll' |
| DiskId='1' Checksum='yes' |
| Source='$(var.MozcTIP64Path)' Vital='yes' /> |
| </Component> |
| <Component Id='GIMEJaBroker32' Guid='*' Permanent='no'> |
| <File Id='GoogleIMEJaBroker32.exe' |
| Name='GoogleIMEJaBroker32.exe' |
| DiskId='1' Checksum='yes' |
| Source='$(var.MozcBroker32Path)' Vital='yes' /> |
| </Component> |
| <Component Id='GIMEJaBroker64' Guid='*' Permanent='no'> |
| <Condition>(VersionNT >= 600) and (VersionNT64)</Condition> |
| <File Id='GoogleIMEJaBroker64.exe' |
| Name='GoogleIMEJaBroker64.exe' |
| DiskId='1' Checksum='yes' |
| Source='$(var.MozcBroker64Path)' Vital='yes' /> |
| </Component> |
| <Component Id='GIMEJaRenderer' Guid='*'> |
| <File Id='GoogleIMEJaRenderer.exe' |
| Name='GoogleIMEJaRenderer.exe' DiskId='1' Vital='yes' |
| Checksum='yes' Source='$(var.MozcRenderer32Path)' /> |
| </Component> |
| <Component Id='GIMEJaTool' Guid='*'> |
| <File Id='GoogleIMEJaTool.exe' |
| Name='GoogleIMEJaTool.exe' DiskId='1' |
| Checksum='yes' Source='$(var.MozcToolPath)' Vital='yes' /> |
| </Component> |
| <?if $(var.MozcZinniaModelDataPath) != "" ?> |
| <Component Id='ZinniaModelData' Guid='*'> |
| <File Id='handwriting_ja.model' |
| Name='handwriting-ja.model' DiskId='1' Vital='yes' |
| Checksum='yes' Source='$(var.MozcZinniaModelDataPath)' /> |
| </Component> |
| <?endif?> |
| <?if $(var.VSConfigurationName) = "Debug" ?> |
| <?if $(var.QtCored4DllPath) != "" ?> |
| <Component Id='QtCored4Dll' Guid='*'> |
| <File Id='QtCored4.dll' |
| Name='QtCored4.dll' DiskId='1' Vital='yes' |
| Checksum='yes' Source='$(var.QtCored4DllPath)' /> |
| </Component> |
| <?endif?> |
| <?if $(var.QtGuid4DllPath) != "" ?> |
| <Component Id='QtGuid4Dll' Guid='*'> |
| <File Id='QtGuid4.dll' |
| Name='QtGuid4.dll' DiskId='1' Vital='yes' |
| Checksum='yes' Source='$(var.QtGuid4DllPath)' /> |
| </Component> |
| <?endif?> |
| <?else?> |
| <?if $(var.QtCore4DllPath) != "" ?> |
| <Component Id='QtCore4Dll' Guid='*'> |
| <File Id='QtCore4.dll' |
| Name='QtCore4.dll' DiskId='1' Vital='yes' |
| Checksum='yes' Source='$(var.QtCore4DllPath)' /> |
| </Component> |
| <?endif?> |
| <?if $(var.QtGui4DllPath) != "" ?> |
| <Component Id='QtGui4Dll' Guid='*'> |
| <File Id='QtGui4.dll' |
| Name='QtGui4.dll' DiskId='1' Vital='yes' |
| Checksum='yes' Source='$(var.QtGui4DllPath)' /> |
| </Component> |
| <?endif?> |
| <?endif?> |
| <Directory Id='DocumentsDir' Name='documents'> |
| <Component Id='CreditsJa' Guid='*'> |
| <File Id='credits_ja.html' Name='credits_ja.html' DiskId='1' |
| Checksum='yes' Vital='yes' |
| Source='$(var.DocumentsDir)/credits_ja.html' /> |
| </Component> |
| <Component Id='CreditsEn' Guid='*'> |
| <File Id='credits_en.html' Name='credits_en.html' DiskId='1' |
| Checksum='yes' Vital='yes' |
| Source='$(var.DocumentsDir)/credits_en.html' /> |
| </Component> |
| </Directory> |
| </Directory> |
| </Directory> |
| </Directory> |
| |
| <!-- Write registry keys to make the installer compatible with Omaha. --> |
| <Component Id='OmahaRegister' Guid='*'> |
| <RegistryValue Id='OmahaClientRegPv' Root='HKLM' |
| Key='$(var.OmahaClientKey)' |
| Name='pv' Value='$(var.MozcVersion)' Action='write' |
| Type='string' /> |
| <RegistryValue Id='OmahaClientRegName' Root='HKLM' |
| Key='$(var.OmahaClientKey)' |
| Name='name' Value='Google 日本語入力' Action='write' |
| Type='string' /> |
| <RegistryValue Id='OmahaClientRegLang' Root='HKLM' |
| Key='$(var.OmahaClientKey)' |
| Name='lang' Value='ja' Action='write' |
| Type='string' /> |
| <RegistryValue Id='OmahaClientRegOOPCrashes' Root='HKLM' |
| Key='$(var.OmahaClientKey)' |
| Name='oopcrashes' Value='1' Action='write' |
| Type='integer' /> |
| <!-- enable usagestats for dev channel users --> |
| <?if ($(var.OmahaChannelType) = "dev") ?> |
| <RegistryValue Id='OmahaUsageStats' Root='HKLM' |
| Key='$(var.OmahaClientStateKey)' |
| Name='usagestats' Value='1' Action='write' |
| Type='integer' /> |
| <?endif?> |
| </Component> |
| |
| <!-- |
| Write registry keys to make sure GoogleIMEJaConverter.exe and |
| GoogleIMEJaRenderer.exe exit when a user logoff via remote desctop |
| connection. |
| --> |
| <Component Id='SysProcs' Guid='*'> |
| <RegistryValue Id='SysProcsGIMEJaConverter' Root='HKLM' |
| Key='SYSTEM\CurrentControlSet\Control\Terminal Server\SysProcs' |
| Name='GoogleIMEJaConverter.exe' Value='0' Action='write' |
| Type='integer' /> |
| <RegistryValue Id='SysProcsGIMEJaRenderer' Root='HKLM' |
| Key='SYSTEM\CurrentControlSet\Control\Terminal Server\SysProcs' |
| Name='GoogleIMEJaRenderer.exe' Value='0' Action='write' |
| Type='integer' /> |
| </Component> |
| |
| <!-- |
| Write registry keys to set an elevation policy of Internet Explorer 7 |
| so that IE does not prompt the user when GoogleIMEJaTool.exe are |
| launched. See the following link for more information. |
| http://msdn.microsoft.com/en-us/library/bb250462.aspx |
| --> |
| <Component Id='GIMEJaElevationPolicy32' Guid='*'> |
| <RegistryValue Id='GIMEJaToolElevationPolicyAppPath32' Root='HKLM' |
| Key='$(var.MozcToolElevationPolicyRegKey)' |
| Name='AppPath' Action='write' Type='string' |
| Value='[GIMEJaDir]' /> |
| <RegistryValue Id='GIMEJaToolElevationPolicyAppName32' Root='HKLM' |
| Key='$(var.MozcToolElevationPolicyRegKey)' |
| Name='AppName' Action='write' Type='string' |
| Value='GoogleIMEJaTool.exe' /> |
| <RegistryValue Id='GIMEJaToolElevationPolicyPolicy32' Root='HKLM' |
| Key='$(var.MozcToolElevationPolicyRegKey)' |
| Name='Policy' Action='write' Type='integer' |
| Value='3' /> |
| <RegistryValue Id='GIMEJaBroker32ElevationPolicyAppPath32' Root='HKLM' |
| Key='$(var.MozcBroker32ElevationPolicyRegKey)' |
| Name='AppPath' Action='write' Type='string' |
| Value='[GIMEJaDir]' /> |
| <RegistryValue Id='GIMEJaBroker32ElevationPolicyAppName32' Root='HKLM' |
| Key='$(var.MozcBroker32ElevationPolicyRegKey)' |
| Name='AppName' Action='write' Type='string' |
| Value='GoogleIMEJaBroker32.exe' /> |
| <RegistryValue Id='GIMEJaBroker32ElevationPolicyPolicy32' Root='HKLM' |
| Key='$(var.MozcBroker32ElevationPolicyRegKey)' |
| Name='Policy' Action='write' Type='integer' |
| Value='3' /> |
| <RegistryValue Id='GIMEJaBroker64ElevationPolicyAppPath32' Root='HKLM' |
| Key='$(var.MozcBroker64ElevationPolicyRegKey)' |
| Name='AppPath' Action='write' Type='string' |
| Value='[GIMEJaDir]' /> |
| <RegistryValue Id='GIMEJaBroker64ElevationPolicyAppName32' Root='HKLM' |
| Key='$(var.MozcBroker64ElevationPolicyRegKey)' |
| Name='AppName' Action='write' Type='string' |
| Value='GoogleIMEJaBroker64.exe' /> |
| <RegistryValue Id='GIMEJaBroker64ElevationPolicyPolicy32' Root='HKLM' |
| Key='$(var.MozcBroker64ElevationPolicyRegKey)' |
| Name='Policy' Action='write' Type='integer' |
| Value='3' /> |
| </Component> |
| |
| <Component Id='GIMEJaElevationPolicy64' Guid='*' Win64='yes'> |
| <RegistryValue Id='GIMEJaToolElevationPolicyAppPath64' Root='HKLM' |
| Key='$(var.MozcToolElevationPolicyRegKey)' |
| Name='AppPath' Action='write' Type='string' |
| Value='[GIMEJaDir]' /> |
| <RegistryValue Id='GIMEJaToolElevationPolicyAppName64' Root='HKLM' |
| Key='$(var.MozcToolElevationPolicyRegKey)' |
| Name='AppName' Action='write' Type='string' |
| Value='GoogleIMEJaTool.exe' /> |
| <RegistryValue Id='GIMEJaToolElevationPolicyPolicy64' Root='HKLM' |
| Key='$(var.MozcToolElevationPolicyRegKey)' |
| Name='Policy' Action='write' Type='integer' |
| Value='3' /> |
| <RegistryValue Id='GIMEJaBroker32ElevationPolicyAppPat64' Root='HKLM' |
| Key='$(var.MozcBroker32ElevationPolicyRegKey)' |
| Name='AppPath' Action='write' Type='string' |
| Value='[GIMEJaDir]' /> |
| <RegistryValue Id='GIMEJaBroker32ElevationPolicyAppName64' Root='HKLM' |
| Key='$(var.MozcBroker32ElevationPolicyRegKey)' |
| Name='AppName' Action='write' Type='string' |
| Value='GoogleIMEJaBroker32.exe' /> |
| <RegistryValue Id='GIMEJaBroker32ElevationPolicyPolicy64' Root='HKLM' |
| Key='$(var.MozcBroker32ElevationPolicyRegKey)' |
| Name='Policy' Action='write' Type='integer' |
| Value='3' /> |
| <RegistryValue Id='GIMEJaBroker64ElevationPolicyAppPath64' Root='HKLM' |
| Key='$(var.MozcBroker64ElevationPolicyRegKey)' |
| Name='AppPath' Action='write' Type='string' |
| Value='[GIMEJaDir]' /> |
| <RegistryValue Id='GIMEJaBroker64ElevationPolicyAppName64' Root='HKLM' |
| Key='$(var.MozcBroker64ElevationPolicyRegKey)' |
| Name='AppName' Action='write' Type='string' |
| Value='GoogleIMEJaBroker64.exe' /> |
| <RegistryValue Id='GIMEJaBroker64ElevationPolicyPolicy64' Root='HKLM' |
| Key='$(var.MozcBroker64ElevationPolicyRegKey)' |
| Name='Policy' Action='write' Type='integer' |
| Value='3' /> |
| </Component> |
| |
| <Component Id='OmahaRegLaunchCmdLine' Guid='*' Permanent='no'> |
| <Condition>(NOT UPGRADING)</Condition> |
| <RegistryValue Id='OmahaLaunchCmdLineValue' Root='HKLM' |
| Key='$(var.OmahaClientStateKey)' |
| Name='InstallerSuccessLaunchCmdLine' Action='write' Type='string' |
| Value='"[GIMEJaDir]GoogleIMEJaTool.exe" --mode=post_install_dialog' /> |
| </Component> |
| |
| <!-- |
| Write a registry key to launch GoogleIMEJaConverter.exe and |
| GoogleIMEJaRenderer.exe automatically after user logon. |
| --> |
| <Component Id='PrelaunchProcesses' Guid='*'> |
| <RegistryValue Id='RunBroker' Root='HKLM' |
| Key='Software\Microsoft\Windows\CurrentVersion\Run' |
| Name='Google Japanese Input Prelauncher' Action='write' Type='string' |
| Value='"[GIMEJaDir]GoogleIMEJaBroker32.exe" --mode=prelaunch_processes' /> |
| </Component> |
| </Directory> |
| |
| <Upgrade Id='$(var.UpgradeCode)'> |
| <UpgradeVersion |
| Minimum='0.0.0.0' IncludeMinimum='yes' |
| Maximum='$(var.MozcVersion)' IncludeMaximum='no' |
| OnlyDetect='no' Property='UPGRADING'/> |
| <UpgradeVersion |
| Minimum='$(var.MozcVersion)' IncludeMinimum='yes' |
| OnlyDetect='yes' Property='NEWERVERSIONDETECTED' /> |
| </Upgrade> |
| |
| <UI> |
| <Error Id="4000">新しいバージョンの Google 日本語入力が既にインストールされています。</Error> |
| </UI> |
| |
| <!-- List of actions to be performed. --> |
| <?if $(var.VSConfigurationName) = "Debug" ?> |
| <?if $(var.DebugCrtMergeModuleIdPrefix) != "" ?> |
| <Feature Id='$(var.DebugCrtMergeModuleIdPrefix)' |
| Title='Visual C++ Runtime Library' AllowAdvertise='no' |
| Display='hidden' Level='1'> |
| <MergeRef Id='$(var.DebugCrtMergeModuleIdPrefix)' /> |
| </Feature> |
| <?endif?> |
| <?else?> |
| <?if $(var.ReleaseCrtMergeModuleIdPrefix) != "" ?> |
| <Feature Id='$(var.ReleaseCrtMergeModuleIdPrefix)' |
| Title='Visual C++ Runtime Library' AllowAdvertise='no' |
| Display='hidden' Level='1'> |
| <MergeRef Id='$(var.ReleaseCrtMergeModuleIdPrefix)' /> |
| </Feature> |
| <?endif?> |
| <?endif?> |
| |
| <Feature Id='GIMEJaInstall' Title='Google 日本語入力' Level='1'> |
| <ComponentRef Id='GIMEJaIME32' /> |
| <ComponentRef Id='GIMEJaIME64' /> |
| <ComponentRef Id='GIMEJaTIP32' /> |
| <ComponentRef Id='GIMEJaTIP64' /> |
| <ComponentRef Id='GIMEJaBroker32' /> |
| <ComponentRef Id='GIMEJaBroker64' /> |
| <ComponentRef Id='GIMEJaConverter' /> |
| <ComponentRef Id='GIMEJaCacheService' /> |
| <ComponentRef Id='GIMEJaRenderer' /> |
| <ComponentRef Id='GIMEJaTool' /> |
| <?if $(var.MozcZinniaModelDataPath) != "" ?> |
| <ComponentRef Id='ZinniaModelData' /> |
| <?endif?> |
| <?if $(var.VSConfigurationName) = "Debug" ?> |
| <?if $(var.QtCored4DllPath) != "" ?> |
| <ComponentRef Id='QtCored4Dll' /> |
| <?endif?> |
| <?if $(var.QtGuid4DllPath) != "" ?> |
| <ComponentRef Id='QtGuid4Dll' /> |
| <?endif?> |
| <?else?> |
| <?if $(var.QtCore4DllPath) != "" ?> |
| <ComponentRef Id='QtCore4Dll' /> |
| <?endif?> |
| <?if $(var.QtGui4DllPath) != "" ?> |
| <ComponentRef Id='QtGui4Dll' /> |
| <?endif?> |
| <?endif?> |
| <ComponentRef Id='OmahaRegister' /> |
| <ComponentRef Id='OmahaRegLaunchCmdLine' /> |
| <ComponentRef Id='SysProcs' /> |
| <ComponentRef Id='PrelaunchProcesses' /> |
| <ComponentRef Id='GIMEJaElevationPolicy32' /> |
| <ComponentRef Id='GIMEJaElevationPolicy64' /> |
| <ComponentRef Id='CreditsJa' /> |
| <ComponentRef Id='CreditsEn' /> |
| </Feature> |
| |
| <Binary Id='CustomActions32' SourceFile='$(var.CustomActions32Path)' /> |
| <Binary Id='CustomActions64' SourceFile='$(var.CustomActions64Path)' /> |
| |
| <!-- |
| InstallIME need to be called by an impersonated thread since it |
| registers per-user settings. |
| --> |
| <!-- |
| On 64-bit Windows, it would better to use native (64-bit) version of |
| ImmInstallIME instead of WOW (32-bit) version. See b/2931871 for |
| details. |
| --> |
| <CustomAction Id='InstallIME' BinaryKey='CustomActions64' |
| DllEntry='InstallIME' Execute='deferred' Impersonate='yes' /> |
| <CustomAction Id='InstallIMERollback' |
| BinaryKey='CustomActions64' DllEntry='InstallIMERollback' |
| Execute='rollback' Impersonate='yes' /> |
| <CustomAction Id='UninstallIME' BinaryKey='CustomActions64' |
| DllEntry='UninstallIME' Execute='deferred' Impersonate='no' /> |
| <CustomAction Id='UninstallIMERollback' |
| BinaryKey='CustomActions64' DllEntry='UninstallIMERollback' |
| Execute='rollback' Impersonate='no' /> |
| <CustomAction Id='RegisterTIP32' BinaryKey='CustomActions32' |
| DllEntry='RegisterTIP' Execute='deferred' Impersonate='no' /> |
| <CustomAction Id='RegisterTIPRollback32' BinaryKey='CustomActions32' |
| DllEntry='RegisterTIPRollback' Execute='rollback' Impersonate='no' /> |
| <CustomAction Id='UnregisterTIP32' BinaryKey='CustomActions32' |
| DllEntry='UnregisterTIP' Execute='deferred' Impersonate='no' |
| Return='ignore' /> |
| <CustomAction Id='UnregisterTIPRollback32' BinaryKey='CustomActions32' |
| DllEntry='UnregisterTIPRollback' Execute='rollback' Impersonate='no' |
| Return='ignore' /> |
| <CustomAction Id='RegisterTIP64' BinaryKey='CustomActions64' |
| DllEntry='RegisterTIP' Execute='deferred' Impersonate='no' /> |
| <CustomAction Id='RegisterTIPRollback64' BinaryKey='CustomActions64' |
| DllEntry='RegisterTIPRollback' Execute='rollback' Impersonate='no' /> |
| <CustomAction Id='UnregisterTIP64' BinaryKey='CustomActions64' |
| DllEntry='UnregisterTIP' Execute='deferred' Impersonate='no' |
| Return='ignore' /> |
| <CustomAction Id='UnregisterTIPRollback64' BinaryKey='CustomActions64' |
| DllEntry='UnregisterTIPRollback' Execute='rollback' Impersonate='no' |
| Return='ignore' /> |
| <CustomAction Id='RefreshPolicy' BinaryKey='CustomActions32' |
| DllEntry='RefreshPolicy' Execute='commit' Impersonate='no' /> |
| <CustomAction Id='OpenUninstallSurveyPage' BinaryKey='CustomActions32' |
| DllEntry='OpenUninstallSurveyPage' Impersonate='yes' Return='ignore' /> |
| <CustomAction Id='ShutdownServer' BinaryKey='CustomActions32' |
| DllEntry='ShutdownServer' Impersonate='yes' Return='ignore' /> |
| <CustomAction Id='RestoreUserIMEEnvironment' BinaryKey='CustomActions64' |
| DllEntry='RestoreUserIMEEnvironment' Impersonate='yes' Return='ignore'/> |
| <CustomAction Id='EnsureIMEIsDisabledForServiceAccountBeforeUninstall' |
| BinaryKey='CustomActions64' Execute='deferred' |
| DllEntry='EnsureIMEIsDisabledForServiceAccount' Impersonate='no' |
| Return='ignore'/> |
| <CustomAction Id='EnsureIMEIsDisabledForServiceAccountAfterInstall' |
| BinaryKey='CustomActions64' Execute='deferred' |
| DllEntry='EnsureIMEIsDisabledForServiceAccount' Impersonate='no' |
| Return='ignore'/> |
| <CustomAction Id='InitialInstallation' BinaryKey='CustomActions32' |
| DllEntry='InitialInstallation' Execute='deferred' |
| Impersonate='no' /> |
| <CustomAction Id='InitialInstallationCommit' BinaryKey='CustomActions32' |
| DllEntry='InitialInstallationCommit' Execute='commit' |
| Impersonate='no' /> |
| <CustomAction Id='HideCancelButton' BinaryKey='CustomActions32' |
| DllEntry='HideCancelButton' Return='ignore' /> |
| <CustomAction Id='SaveCustomActionData' BinaryKey='CustomActions32' |
| DllEntry='SaveCustomActionData' /> |
| <CustomAction Id='RestoreServiceState' BinaryKey='CustomActions32' |
| DllEntry='RestoreServiceState' Impersonate='no' Execute='deferred' |
| Return='ignore' /> |
| <CustomAction Id='StopCacheServiceForRollback' BinaryKey='CustomActions32' |
| DllEntry='StopCacheService' Impersonate='no' |
| Execute='rollback' Return='ignore' /> |
| <CustomAction Id='WriteApValue' BinaryKey='CustomActions32' |
| DllEntry='WriteApValue' Execute='deferred' Impersonate='no' /> |
| <CustomAction Id='WriteApValueRollback' BinaryKey='CustomActions32' |
| DllEntry='WriteApValueRollback' Execute='rollback' Impersonate='no' /> |
| <CustomAction Id="NewerVersionError" Error="4000"/> |
| |
| <InstallExecuteSequence> |
| <Custom Action='HideCancelButton' After='InitialInstallation' /> |
| <Custom Action='InitialInstallation' After='InstallInitialize'> |
| (NOT (REMOVE="ALL")) AND (NOT UPGRADING) |
| </Custom> |
| <Custom Action='SaveCustomActionData' Before='StopServices' > |
| (NOT (REMOVE="ALL")) |
| </Custom> |
| <Custom Action='WriteApValueRollback' Before='WriteApValue' > |
| (NOT (REMOVE="ALL")) |
| </Custom> |
| <Custom Action='WriteApValue' Before='SelfUnregModules' > |
| (NOT (REMOVE="ALL")) |
| </Custom> |
| <SelfUnregModules /> |
| <Custom Action='RestoreUserIMEEnvironment' After='SelfUnregModules'> |
| (REMOVE="ALL") AND (NOT UPGRADINGPRODUCTCODE) |
| </Custom> |
| <!-- |
| EnsureIMEIsDisabledForServiceAccountBeforeUninstall should be invoked |
| before Mozc's KLID is removed, which means you should call this action |
| before UninstallIME. |
| --> |
| <Custom Action='EnsureIMEIsDisabledForServiceAccountBeforeUninstall' |
| After='RestoreUserIMEEnvironment' > |
| (REMOVE="ALL") AND (NOT UPGRADINGPRODUCTCODE) |
| </Custom> |
| <!-- This action invoked only when removal of the old product failed. --> |
| <Custom Action='UninstallIMERollback' |
| After='EnsureIMEIsDisabledForServiceAccountBeforeUninstall' > |
| (REMOVE="ALL") AND UPGRADINGPRODUCTCODE |
| </Custom> |
| <Custom Action='UninstallIME' After='UninstallIMERollback' > |
| (REMOVE="ALL") AND (NOT UPGRADINGPRODUCTCODE) |
| </Custom> |
| <!-- This action invoked only when removal of the old product failed. --> |
| <Custom Action='UnregisterTIPRollback64' After='UninstallIME' > |
| (REMOVE="ALL") AND UPGRADINGPRODUCTCODE AND (VersionNT64) AND (VersionNT >= 602) |
| </Custom> |
| <Custom Action='UnregisterTIP64' After='UnregisterTIPRollback64' > |
| (REMOVE="ALL") AND (NOT UPGRADINGPRODUCTCODE) AND (VersionNT64) AND (VersionNT >= 602) |
| </Custom> |
| <!-- This action invoked only when removal of the old product failed. --> |
| <Custom Action='UnregisterTIPRollback32' After='UnregisterTIP64' > |
| (REMOVE="ALL") AND UPGRADINGPRODUCTCODE AND (VersionNT >= 602) |
| </Custom> |
| <Custom Action='UnregisterTIP32' After='UnregisterTIPRollback32' > |
| (REMOVE="ALL") AND (NOT UPGRADINGPRODUCTCODE) AND (VersionNT >= 602) |
| </Custom> |
| <Custom Action='OpenUninstallSurveyPage' After='UnregisterTIP32' > |
| (REMOVE="ALL") AND (NOT UPGRADINGPRODUCTCODE) AND (UILevel >= 3) |
| </Custom> |
| <SelfRegModules /> |
| <Custom Action='RefreshPolicy' After='SelfRegModules'> |
| (NOT (REMOVE="ALL")) AND (VersionNT >= 600) |
| </Custom> |
| <!-- |
| The InstallValidate action notifies the user |
| if GoogleIMEJaConverter.exe and GoogleIMEJaRenderer.exe |
| are currenly running. So the ShutdownServer action |
| needs to be callled before the InstallValidate action. |
| --> |
| <Custom Action='ShutdownServer' Before='InstallValidate' > |
| (REMOVE="ALL") AND (NOT UPGRADINGPRODUCTCODE) |
| </Custom> |
| <Custom Action='NewerVersionError' After='FindRelatedProducts'> |
| NEWERVERSIONDETECTED |
| </Custom> |
| <!-- |
| RemoveExistingProducts needs to be scheduled between InstallExecute and |
| InstallFinalize to correctly deal with errors which occur when the old |
| product is removed on upgrade. |
| http://msdn.microsoft.com/en-us/library/aa371197(VS.85).aspx |
| --> |
| <InstallExecute Before='RemoveExistingProducts' /> |
| <RemoveExistingProducts Before='StopCacheServiceForRollback' /> |
| <!-- |
| When the installer enters rollback mode, the cache service should be |
| stopped before RemoveExistingProducts is invoked. |
| --> |
| <Custom Action='StopCacheServiceForRollback' Before='RestoreServiceState'> |
| (NOT (REMOVE="ALL")) |
| </Custom> |
| <Custom Action='RestoreServiceState' Before='InstallIMERollback'> |
| (NOT (REMOVE="ALL")) |
| </Custom> |
| <!-- |
| If error occurs after InstallIME, |
| the registration needs to be canceled by registering the old product. |
| So InstallIME needs to be scheduled after RemoveExistingProduct. |
| --> |
| <Custom Action='InstallIMERollback' Before='InstallIME' > |
| (NOT (REMOVE="ALL")) AND (VersionNT < 602) AND (NOT UPGRADING) |
| </Custom> |
| <Custom Action='InstallIME' Before='RegisterTIPRollback32' > |
| (NOT (REMOVE="ALL")) AND (VersionNT < 602) |
| </Custom> |
| <Custom Action='RegisterTIPRollback32' Before='RegisterTIP32' > |
| (NOT (REMOVE="ALL")) AND (VersionNT >= 602) AND (NOT UPGRADING) |
| </Custom> |
| <Custom Action='RegisterTIP32' Before='RegisterTIPRollback64' > |
| (NOT (REMOVE="ALL")) AND (VersionNT >= 602) |
| </Custom> |
| <Custom Action='RegisterTIPRollback64' Before='RegisterTIP64' > |
| (NOT (REMOVE="ALL")) AND (VersionNT >= 602) AND (VersionNT64) AND (NOT UPGRADING) |
| </Custom> |
| <Custom Action='RegisterTIP64' |
| Before='EnsureIMEIsDisabledForServiceAccountAfterInstall' > |
| (NOT (REMOVE="ALL")) AND (VersionNT >= 602) AND (VersionNT64) |
| </Custom> |
| <Custom Action='EnsureIMEIsDisabledForServiceAccountAfterInstall' |
| Before='InstallFinalize' > |
| (NOT (REMOVE="ALL")) |
| </Custom> |
| <Custom Action='InitialInstallationCommit' |
| After='EnsureIMEIsDisabledForServiceAccountAfterInstall'> |
| (NOT (REMOVE="ALL")) AND (NOT UPGRADING) |
| </Custom> |
| <!-- show reboot dialog to execute pending file opartions --> |
| <?if ($(var.VSConfigurationName) = "Release") ?> |
| <ScheduleReboot After='InstallFinalize'> |
| (REMOVE="ALL") |
| </ScheduleReboot> |
| <?endif?> |
| </InstallExecuteSequence> |
| </Product> |
| </Wix> |