windows-wix-install-idn-redist-20080626
authorAsanka Herath <asanka@secure-endpoints.com>
Fri, 27 Jun 2008 03:04:12 +0000 (03:04 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 27 Jun 2008 03:04:12 +0000 (03:04 +0000)
LICENSE MIT

Install the Microsoft IDN Redistributables which are required for
Unicode Normalization on XP and 2003.

src/WINNT/install/wix/NTMakefile
src/WINNT/install/wix/config.wxi
src/WINNT/install/wix/lang/en_US/strings.wxl
src/WINNT/install/wix/lang/en_US/ui.wxi
src/WINNT/install/wix/openafs.wxs
src/WINNT/install/wix/runtime.wxi

index 690f109..af5ba38 100644 (file)
@@ -17,6 +17,11 @@ MSIFILE = $(MEDIADIR)\openafs-$(LANG).msi
 BINMSIFILE = $(MEDIADIR)\openafs-32bit-tools-$(LANG).msi
 !ENDIF
 
+!IFNDEF MSIDNNLS
+!ERROR Please set MSIDNNLS to the directory where Microsoft IDN Mitigation APIs are installed.
+# $(MSIDNNLS)\REDIST\idndl.(platform).exe should exist.
+!ENDIF
+
 WIXINCLUDES = \
        config.wxi \
        feature.wxi \
@@ -74,6 +79,7 @@ $(WIXOBJ): openafs.wxs $(WIXINCLUDES)
                -dVersionPatch=$(AFSPRODUCT_VER_PATCH)  \
                "-dDestDir=$(DESTDIR)\\" \
                -dCellDbFile=CellServDB \
+               -dIDNMRedistDir=$(MSIDNNLS)\\REDIST     \
                -v0 \
                -w0 \
         $(AFSDEV_AUXWIXDEFINES)        openafs.wxs
index 4c5b3e0..83796d3 100644 (file)
        <?define InstallerVersion="110"?>
        <?define Platform="Intel"?>
        <?define Win64="no"?>
+        <?define Arch="x86"?>
     <?elseif $(env.CPU) = "AMD64"?>
        <?define InstallerVersion="200"?>
        <?define Platform="x64"?>
        <?define Win64="yes"?>
+        <?define Arch="amd64"?>
     <?else?>
         <?error Unknown build type?>
     <?endif?>
index 9552cfc..2efd1c2 100644 (file)
@@ -61,6 +61,7 @@
        <String Id="ActConfigureClient">Configuring the AFS client service</String>
        <String Id="ActConfigureServer">Configuring the AFS server service</String>
        <String Id="ActRemoveNsisInstallation">Removing existing installation of OpenAFS</String>
+        <String Id="ActInstallIDNMRedistributable">Installing Microsoft Internationalized Domain Name Mitigation APIs</String>
        
        <String Id="StrNsisAbortReason">Installation of OpenAFS for Windows was prematurely terminated because OpenAFS [NSISVERSION] was already installed.</String>
        <String Id="StrUninstallDesc">Uninstall OpenAFS from the local machine.</String>
index 342da26..1b18559 100644 (file)
          <ProgressText Action="ConfigureClient">$(loc.ActConfigureClient)</ProgressText>
          <ProgressText Action="ConfigureServer">$(loc.ActConfigureServer)</ProgressText>
          <ProgressText Action="RemoveNsisInstallation">$(loc.ActRemoveNsisInstallation)</ProgressText>
-         
+         <ProgressText Action="InstallIDNMRedistributable">$(loc.ActInstallIDNMRedistributable)</ProgressText>
          
       <AdminUISequence>
         <Show Dialog="FatalError" OnExit="error" />
index a1f7234..0b65b5a 100644 (file)
         <Binary
                 Id="BIN_afsCustom"
                 src="$(var.MediaDllDir)afscustom.dll"/>
+    <Binary
+       Id="BIN_idndl.exe"
+       src="$(var.IDNMRedistDir)\idndl.$(var.Arch).exe" />
+    <CustomAction
+       Id="InstallIDNMRedistributable"
+       BinaryKey="BIN_idndl.exe"
+       ExeCommand="/quiet /norestart"
+       Execute="deferred"
+       Impersonate="no"
+       />
+
        <?ifdef UseDllLoopbackInstaller?>
         <CustomAction
          Id="InstallLoopback"
             <Custom Action="RollbackNetProvider" After="WriteRegistryValues">&amp;feaClient=3</Custom>
                        <Custom Action="InstallNetProvider" After="RollbackNetProvider">&amp;feaClient=3</Custom>
                        <Custom Action="RemoveNetProvider" After="InstallNetProvider">&amp;feaClient=2</Custom>
+      <Custom Action="InstallIDNMRedistributable" After="WriteRegistryValues">&amp;feaClient=3</Custom>
                        <Custom Action="ConfigureClient" After="InstallServices">&amp;feaClient=3</Custom>
                        <Custom Action="ConfigureServer" After="ConfigureClient">&amp;feaServer=3</Custom>
                        <!-- <Custom Action="RemoveAFSAdminGroup" Before="">&amp;feaClient=2</Custom> -->
index 51d8ae9..a4068c9 100644 (file)
@@ -1,4 +1,4 @@
-\feff<?xml version="1.0"?> 
+<?xml version="1.0"?> 
 <Include>
     <?if $(env.AFSVER_CL) = "1400" ?>
                <MergeRef Id="MSVCRT8MEM"/>