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 \
-dVersionPatch=$(AFSPRODUCT_VER_PATCH) \
"-dDestDir=$(DESTDIR)\\" \
-dCellDbFile=CellServDB \
+ -dIDNMRedistDir=$(MSIDNNLS)\\REDIST \
-v0 \
-w0 \
$(AFSDEV_AUXWIXDEFINES) openafs.wxs
<?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?>
<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>
<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" />
<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">&feaClient=3</Custom>
<Custom Action="InstallNetProvider" After="RollbackNetProvider">&feaClient=3</Custom>
<Custom Action="RemoveNetProvider" After="InstallNetProvider">&feaClient=2</Custom>
+ <Custom Action="InstallIDNMRedistributable" After="WriteRegistryValues">&feaClient=3</Custom>
<Custom Action="ConfigureClient" After="InstallServices">&feaClient=3</Custom>
<Custom Action="ConfigureServer" After="ConfigureClient">&feaServer=3</Custom>
<!-- <Custom Action="RemoveAFSAdminGroup" Before="">&feaClient=2</Custom> -->
-\feff<?xml version="1.0"?>
+<?xml version="1.0"?>
<Include>
<?if $(env.AFSVER_CL) = "1400" ?>
<MergeRef Id="MSVCRT8MEM"/>