[WinOF] Use DIFxApp (Driver Install Frameworks for Applications) to install drivers...
authorstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Mon, 22 Jun 2009 20:45:17 +0000 (20:45 +0000)
committerstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Mon, 22 Jun 2009 20:45:17 +0000 (20:45 +0000)
The big win is to use WDK supplied driver install functions which then allows all supported OS flavors to use the Driver Store which results in the user not having to choose which HCA model to install (specifically Server 2003 & XP); The 'default' driver choice is Mellanox HCA.

git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2261 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

30 files changed:
WinOF/WIX/CustomActions.vbs
WinOF/WIX/common/IBcore.inc
WinOF/WIX/common/hca_filters.inc [new file with mode: 0644]
WinOF/WIX/common/iou.inc [new file with mode: 0644]
WinOF/WIX/common/ipoib.inc
WinOF/WIX/common/mlnx_drivers.inc
WinOF/WIX/common/qlgc_vnic.inc
WinOF/WIX/common/srp.inc
WinOF/WIX/common/winverbs_drivers.inc
WinOF/WIX/win7/ia64/Makefile
WinOF/WIX/win7/ia64/wof.wxs
WinOF/WIX/win7/x64/Makefile
WinOF/WIX/win7/x64/wof.wxs
WinOF/WIX/win7/x86/Makefile
WinOF/WIX/win7/x86/wof.wxs
WinOF/WIX/wlh/ia64/Makefile
WinOF/WIX/wlh/ia64/wof.wxs
WinOF/WIX/wlh/x64/Makefile
WinOF/WIX/wlh/x64/wof.wxs
WinOF/WIX/wlh/x86/Makefile
WinOF/WIX/wlh/x86/wof.wxs
WinOF/WIX/wnet/ia64/Makefile
WinOF/WIX/wnet/ia64/wof.wxs
WinOF/WIX/wnet/x64/Makefile
WinOF/WIX/wnet/x64/wof.wxs
WinOF/WIX/wnet/x86/Makefile
WinOF/WIX/wnet/x86/wof.wxs
WinOF/WIX/wxp/x86/Makefile
WinOF/WIX/wxp/x86/wof.wxs
etc/makebin.bat

index 7baa403..c973131 100644 (file)
@@ -41,7 +41,7 @@ Const WindowsVista            ="600"
 Const WindowsSvr2008   ="600"\r
 Const Windows7                 ="601"\r
 \r
-Const UseDPinst                        = "600" ' use DPinst.exe to install drivers for\r
+Const UseDPinst                        = "501" ' use DPinst.exe to install drivers for\r
                                                                ' Windows VersionNT >= this value.\r
 \r
 ' Global debug flag: Session.Property from msiexec.exe cmd line DBG=1\r
@@ -89,40 +89,14 @@ Sub WinOF_setup
        AddLocal = Session.Property("ADDLOCAL")\r
 \r
        ' The WIX UI (UserInterface) sets up ADDLOCAL. When cmd-line msiexec.exe is\r
-       ' run with a deprecited UI, then ADDLOCAL is not setup; default it's value\r
-       ' here.\r
+       ' run with a minimal UI (/passive), then ADDLOCAL is not setup correctly;\r
+       ' default it's value here.\r
+\r
        If AddLocal = "" AND Installed = "" Then\r
                ' Enable default features.\r
                AddLocal = "IBcore,hca_mthca,fIPoIB,fWSD,fDAPL,fDatBASIC1,fDatBASIC2" \r
        End If\r
 \r
-       ' Process msiexec cmd line arg HCA=cx or HCA=+cx\r
-       ' Pre WLH OS only (Server 2003/XP)\r
-       ' Replace default InfiniHost HCA driver with ConnectX HCA driver if\r
-       ' requested 'HCA=cx' or add ConnectX '+cx'.\r
-\r
-       If VersionNT < UseDPinst Then\r
-               use_this_HCA = Session.Property("HCA")\r
-               If use_this_HCA <> "" Then\r
-                       ' down-case if required.\r
-                       If Instr(use_this_HCA,"CX") <> 0 Then\r
-                               use_this_HCA = Replace(use_this_HCA,"CX","cx")\r
-                       End if\r
-                       If Instr(use_this_HCA,"+cx") <> 0 Then\r
-                               ' Add ConnectX HCA drivers\r
-                               AddLocal = AddLocal & ",hca_connectX"\r
-                       Else\r
-                               If Instr(use_this_HCA,"cx") <> 0 Then\r
-                                       If Instr(AddLocal,"hca_mthca") <> 0 Then\r
-                                               AddLocal = Replace(AddLocal,"hca_mthca","hca_connectX")\r
-                                       Else\r
-                                               AddLocal = AddLocal & ",hca_connectX"\r
-                                       End If\r
-                               End If\r
-                       End If\r
-               End If\r
-       End If\r
-\r
        If Session.Property("OSM") = "1" OR Session.Property("OSMS") = "1" Then\r
                AddLocal = AddLocal & ",fOSMS"\r
        End If\r
@@ -224,10 +198,8 @@ Sub DriverFileDelete(fso,WshShell,filename,VersionNT)
                ' allow continuation after 'permission denied' error\r
            On Error Resume Next \r
                ' unlock the driver file by deleting PnPLocked reg entry.\r
-               If VersionNT >= UseDPinst Then\r
-                       base = "reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\PnpLockdownFiles /v "\r
-                       Return = WshShell.Run (base & filename & " /f", 0, true)\r
-               End If\r
+               base = "reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\PnpLockdownFiles /v "\r
+               Return = WshShell.Run (base & filename & " /f", 0, true)\r
            fso.DeleteFile(filename),True\r
            If (Err And Err.Number <> 70) Then  ' tolerate protection errors\r
                    ErrMsg ("Could not delete: " & filename)\r
@@ -299,8 +271,7 @@ End Sub
 ''''''''''' Remove Driver Files ''''''''''''\r
 \r
 ' Attempt to clean out driver installed files which fail to be uninstalled\r
-' when the driver is uninstalled. Win2K3/x64 files persist, XP & Win2K3/x86\r
-' the driver files are correctly remove?\r
+' when the driver is uninstalled.\r
  \r
 Sub RemoveDriverFiles(fso,WshShell,VersionNT)\r
 \r
@@ -650,61 +621,17 @@ Function Find_Dev_by_Tag(WshShell,exe,sFindHow,tag)
 End Function\r
 \r
 \r
-Function IsInfiniHost(ID)\r
-    Dim dID\r
-       HCAs = Array("5A44","5A45","5E8C","5E8D","6264","6274","6275","6278",_\r
-                               "6279","6282")\r
-\r
-    For each dID in HCAs\r
-        If dID = ID Then\r
-            IsInfiniHost = 1\r
-'msgbox "match ID " & ID & " dID " & dID\r
-            Exit Function\r
-        End if\r
-       Next\r
-'msgbox "NO match ID " & ID \r
-    IsInfiniHost = 0\r
-\r
-End Function\r
-\r
-\r
-' Install Qlogic VNIC Driver using devman.exe (aka devcon)\r
-\r
-Sub devman_Install_VNIC(WshShell,sInstalldir)\r
-\r
-       Dim devID, rc\r
-\r
-    devmanQL = "cmd.exe /c cd /d " & sInstalldir & "qlgcvnic & " & _\r
-                       "..\IBcore\devman.exe "\r
-\r
-    Err.clear\r
-       devID = "IBA\V00066AP00000030"\r
-       rc = WshShell.Run (devmanQL & "disable " & devID, 0, true)\r
-       rc = WshShell.Run (devmanQL & "update netvnic.inf " & devID,0,true)\r
-       ' Display error number and description if applicable\r
-       If rc <> 0 Then\r
-               msgbox "Install_VNIC Err(" & rc & ") - devman update qlgcvnic.sys " _\r
-                               & devID,,"devman_install_VNIC"\r
-       Else\r
-               rc = WshShell.Run (devmanQL & "enable " & devID, 0, true)\r
-               If sDBG >= "1" Then\r
-                       msgbox "VNIC Install OK",,"devman_Install_VNIC"\r
-               End If\r
-       End if\r
-\r
-End Sub\r
-       \r
 \r
 Function dpinst_Install_VNIC(WshShell,sInstalldir)\r
-       Dim dpinstSRP,cmd,rc\r
+       Dim dpinstVNIC,cmd,rc\r
 \r
        dpinst_Install_VNIC = 0\r
 \r
        dpinstVNIC = "cmd.exe /c cd /d " & sInstalldir & _\r
-                                       "qlgcvnic & ..\ibcore\dpinst.exe "\r
+                                       "qlgcvnic & ..\dpinst.exe "\r
 \r
-       cmd = dpinstVNIC & "/S /F /SA /PATH """ & sInstalldir & "qlgcvnic""" & _\r
-                               " /SE /SW"\r
+       cmd = dpinstVNIC & "/S /F /SA /PATH """ & sInstalldir & _\r
+                                       "Drivers\qlgcvnic"" /SE /SW"\r
        rc = WshShell.Run (cmd,0,true)\r
        If (rc AND DPINST_INSTALLED) = 0 Then\r
                dpinst_status "qlgcvnic Install failed",cmd,rc,"dpinst_Install_VNIC"\r
@@ -716,75 +643,14 @@ Function dpinst_Install_VNIC(WshShell,sInstalldir)
 End Function\r
 \r
 \r
-' Install SRP (SCSI RDMA Protocol) Driver\r
-\r
-' QLogic Virtual FC I/O controller or\r
-' InfiniBand SRP Miniport: IBA\C0100C609EP0108 or IBA\CFF00C609EP0108\r
-' OFED SRP target: IBA\V000002P00005A44\r
-' one driver handles all three. Definition also used for SRP uninstall.\r
-\r
-SRP_IDS = Array(_\r
-                       "IBA\V000002P00005A44",_\r
-                       "IBA\C0100C609EP0108",_\r
-                       "IBA\CFF00C609EP0108",_\r
-                       "IBA\V00066AP00000038",_\r
-                       "IBA\V000006P00006282")\r
-\r
-Function devman_Install_SRP(WshShell,sInstalldir)\r
-\r
-       Dim Devices,devID,rc,found\r
-\r
-    devmanSRP = "cmd.exe /c cd /d " & sInstalldir & "SRP & " & _\r
-                                       "..\IBcore\devman.exe "\r
-       Err.clear\r
-       found = 0\r
-\r
-       On Error Resume Next\r
-\r
-       Devices = Find_IBA_Devices(WshShell,sInstalldir) \r
-       If IsNull(Devices) Then\r
-               msgbox "missing SRP [IBA\*] devices?",,"devman_Install_SRP"\r
-               devman_Install_SRP = -1\r
-               Exit Function\r
-       End If\r
-\r
-       For each ID in SRP_IDS\r
-               For each devID in Devices\r
-               If Instr(1,devID,ID) = 1 Then\r
-                               found = 1\r
-                               rc = WshShell.Run (devmanSRP & "update ib_srp.inf " & ID,0,true)\r
-                               ' Display error number and description if applicable\r
-                               If rc <> 0 Then\r
-                                       msgbox "Err(" & rc & ") devman update ib_srp.inf " & _\r
-                                                       ID,,"devman_Install_SRP"\r
-                               ElseIf sDBG >= "1" Then\r
-                                       msgbox "SRP install OK.",,"devman_Install_SRP"\r
-                               End If\r
-                               Exit For\r
-                       End If\r
-               Next\r
-'              One driver handles all SRP devices - install once?\r
-'              If found = 1 Then\r
-'                      Exit For\r
-'              End If\r
-       Next\r
-\r
-       If found = 0 Then\r
-               devman_Install_SRP = -1\r
-       Else\r
-               devman_Install_SRP = 0\r
-       End If\r
-\r
-End Function\r
-\r
 \r
 Function dpinst_Install_SRP(WshShell,sInstalldir)\r
        Dim dpinstSRP,cmd,rc\r
 \r
        dpinst_Install_SRP = 0\r
        dpinstSRP = "cmd.exe /c cd /d " & sInstalldir _\r
-                               & "SRP & ..\ibcore\dpinst.exe "\r
-       cmd = dpinstSRP & "/S /F /SA /PATH """ & sInstalldir & "SRP""" & " /SE /SW"\r
+                               & "SRP & ..\dpinst.exe "\r
+       cmd = dpinstSRP & "/S /F /SA /PATH """ & sInstalldir & "Drivers\SRP""" & " /SE /SW"\r
        rc = WshShell.Run (cmd,0,true)\r
        If (rc AND DPINST_INSTALLED) = 0 Then\r
                dpinst_status "SRP Install failed",cmd,rc,"dpinst_Install_SRP"\r
@@ -796,29 +662,6 @@ Function dpinst_Install_SRP(WshShell,sInstalldir)
 End Function\r
 \r
 \r
-Sub devman_Install_IOU(WshShell,sInstalldir)\r
-\r
-       Dim rc,devman\r
-\r
-    devman = "cmd.exe /c cd /d " & sInstalldir & "IBcore & devman.exe "\r
-\r
-       On Error Resume Next\r
-\r
-       dev_list = Find_Dev_by_Tag(WshShell,devman,"find","InfiniBand I/O Unit")\r
-\r
-       ' if no IB_IOU device found, install ibiou.sys driver\r
-       If IsNull(dev_list) Then\r
-               rc = WshShell.Run (devman & "update ib_iou.inf IBA\IB_IOU",0,true)\r
-               If rc <> 0 Then\r
-                       msgbox "Install_IOU Err(" & rc & ")" & _\r
-                                       "devman update ib_iou.inf IBA\IB_IOU"\r
-               End If\r
-'      Else\r
-'              msgbox "IOU driver already loaded [" & dev_list(0) & "]"\r
-       End If\r
-\r
-End Sub\r
-\r
 \r
 ' For installer error codes see\r
 '  http://msdn2.microsoft.com/en-us/library/aa368542(VS.85).aspx \r
@@ -873,267 +716,13 @@ Sub dpinst_status(umsg,cmd,err,title)
 End Sub\r
 \r
 \r
-Function dpinst_install(WshShell,sInstalldir,localSM,IPOIB,VNIC,SRP)\r
-\r
-       Dim dpinst,dpinstNET,cmd,rc\r
-\r
-       err.clear\r
-       On Error Resume Next\r
-\r
-       cmdspec = "cmd.exe /c cd /d " & sInstalldir \r
-       dpinst = cmdspec & "IBcore & dpinst.exe "\r
-       dpinstNET = cmdspec & "net & ..\ibcore\dpinst.exe "\r
-\r
-       cmd = dpinst & "/F /SA /SE /SW"\r
-\r
-       ' HCA driver install - mlx4 or mthca, dpinst does all .inf files in\r
-       ' the current folder.\r
-\r
-       rc = WshShell.Run (cmd,0,true)\r
-\r
-       If (rc AND DPINST_INSTALLED) = 0 Then\r
-               dpinst_status "HCA driver Install failed",cmd,rc,"dpinst_install"\r
-               dpinst_install=ERROR_INSTALL_FAILURE\r
-               Exit Function\r
-       ElseIf sDBG >= "1" Then\r
-               dpinst_status "IB Core Drivers [HCA] Install OK.",cmd,rc,_\r
-                                               "dpinst_install"\r
-       End If\r
-\r
-    ' Check/install IPoIB driver\r
-       If IPOIB Then\r
-               cmd = dpinstNET & "/S /F /SA /PATH """ & sInstalldir & "net""" & _\r
-                               " /SE /SW"\r
-               rc = WshShell.Run (cmd,0,true)\r
-               If (rc AND DPINST_INSTALLED) = 0 Then\r
-                       dpinst_status "IPoIB Install failed",cmd,rc,"dpinst_install"\r
-                       dpinst_install=ERROR_INSTALL_FAILURE\r
-                       Exit Function\r
-\r
-               ElseIf sDBG >= "1" Then\r
-                       dpinst_status "IPoIB Install OK.",cmd,rc,"dpinst_install"\r
-               End If\r
-    End If\r
-    \r
-       ' Start the Local OpenSM Subnet Manager service?\r
-       If localSM Then\r
-               OpenSM_StartMeUp WshShell,sInstalldir\r
-               If sDBG >= "1" Then\r
-                       msgbox "Local Subnet Management Service [OpenSM] started.",,_\r
-                                       "dpinst_install"\r
-               End If\r
-       End If\r
-\r
-       ' IOU driver is installed (loaded into driver store) by default as the\r
-       ' driver (ibiou.sys) is located in IBcore; side-effect of dpinst.exe.\r
-\r
-       If VNIC Then\r
-               rc = dpinst_Install_VNIC(WshShell,sInstalldir)\r
-    End If\r
-    \r
-       If SRP Then\r
-               rc = dpinst_Install_SRP(WshShell,sInstalldir)\r
-    End If\r
-    \r
-       dpinst_install = 0\r
-\r
-End Function\r
-\r
-\r
-Function devman_install(WshShell,sInstalldir,have_mthca,have_mlx4,localSM,IPOIB,VNIC,SRP)\r
-\r
-       Dim devman,cmd,Return,rc\r
-\r
-       ' an HCA driver is 'required' for devman/devcon installs.\r
-    If have_mlx4 = 0 AND have_mthca = 0 Then\r
-        msgbox "devman_install - No HCA Driver Selected to Install?" & _\r
-               "   Aborting Installation."\r
-        ' Force installer cleanup (real magic).\r
-        devman_install=ERROR_INSTALL_SOURCE_ABSENT\r
-        Exit Function\r
-    End If\r
-\r
-    devman = "cmd.exe /c cd /d " & sInstalldir & "IBcore & devman.exe "\r
-\r
-       dev_list = Find_Dev_by_Tag(WshShell,devman,"find","VEN_15B3")\r
-\r
-       If IsNull(dev_list) Then\r
-               msgbox "HCA driver install - No HCA devices to install?"\r
-               devman_install=ERROR_INSTALL_FAILURE\r
-               Exit Function\r
-       End If\r
-\r
-    ' Install ConnectX (mlx4) HCA driver?\r
-\r
-    If have_mlx4 Then\r
-\r
-        ' install ConnectX/mlx4 bus driver \r
-               cmd = ""\r
-        For each Dev in dev_list\r
-                       If Dev <> "" Then\r
-                               mlxdev = Left(Dev,(Instr(dev,"SUBSYS")-2))\r
-                               devID = Right(mlxdev,4)\r
-                               If IsInfiniHost( devID ) = 0 Then\r
-                                       ' Mixed HCA types? if not, then Vendor_ID install\r
-                                       If have_mthca = 0 Then\r
-                                               mlxdev = "PCI\VEN_15B3"\r
-                                       End If\r
-                                       cmd = devman & "update mlx4_bus.inf """ & mlxdev & """"\r
-                                       Return = WshShell.Run (cmd,0,true)\r
-                       If Return = 0 Then\r
-                               DrvInstalled = true\r
-                               Exit For\r
-                       End If\r
-                                       ' one time install attempt if not mixed HCA types present.\r
-                                       ' Otherwise, continue with next mlx4 DEV_ID\r
-                                       If have_mthca = 0 Then\r
-                               Exit For\r
-                                       End If\r
-                               End if\r
-                       End if\r
-               Next\r
-\r
-               If DrvInstalled <> true Then\r
-            msgbox "mlx4_bus Install failed(" & Return & ") " & cmd\r
-            devman_install=ERROR_INSTALL_FAILURE\r
-            Exit Function\r
-               End if\r
-\r
-               ' Install ConnectX HCA\r
-        cmd = devman & "update mlx4_hca.inf MLX4\CONNECTX_HCA"\r
-        Return = WshShell.Run (cmd,0,true)\r
-\r
-        ' Display error number and description if applicable\r
-        If Return <> 0 Then\r
-            msgbox "mlx4_hca Install Err(" & Return & ") " & cmd\r
-            devman_install=ERROR_INSTALL_FAILURE\r
-            Exit Function\r
-        End if\r
-    End If\r
-\r
-    ' InfiniHost (mthca) HCA driver?\r
-\r
-    If have_mthca Then\r
-               DrvInstalled = false\r
-\r
-               cmd = ""\r
-        For each dev in dev_list\r
-                       If dev <> "" Then\r
-                               idev = Left(dev,(Instr(dev,"SUBSYS")-2))\r
-                               devID = Right(idev,4)\r
-                               If IsInfiniHost( devID ) = 1 Then\r
-                                       ' Mixed HCA types? if not, then Vendor_ID install\r
-                                       If have_mlx4 = 0 Then\r
-                                               idev = "PCI\VEN_15B3"\r
-                                       End If\r
-                       cmd = devman & "update mthca.inf """ & idev & """"\r
-                       Return = WshShell.Run (cmd,0,true)\r
-                       If Return = 0 Then\r
-                               DrvInstalled = true\r
-                               Exit For\r
-                       End If\r
-                                       ' one time install attempt if no mlx4 present\r
-                                       ' otherwise, continue with next DEV_ID\r
-                                       If have_mlx4 = 0 Then\r
-                               Exit For\r
-                                       End If\r
-                               End if\r
-                       End if\r
-        Next\r
-\r
-               If DrvInstalled <> true Then\r
-            msgbox "InfiniHost(mthca) Install Err(" & Return & ") " & cmd\r
-            devman_install=ERROR_INSTALL_FAILURE\r
-            Exit Function\r
-               End if\r
-    End if\r
-\r
-       ' an HCA driver is 'required'.\r
-\r
-    If DrvInstalled = false Then\r
-        msgbox "No HCA Driver Selected to Install? Aborting Installation.",,_\r
-                               "devman_install"\r
-        ' Force installer cleanup (real magic).\r
-        devman_install=ERROR_INSTALL_SOURCE_ABSENT\r
-        Exit Function\r
-       ElseIf sDBG >= "1" Then\r
-               msgbox "IB Core Drivers [HCA] installed OK.",,"devman_install"\r
-    End if\r
-\r
-       ' Start a Local OpenSM Subnet Manager service?\r
-       If localSM Then\r
-               OpenSM_StartMeUp WshShell,sInstalldir\r
-               If sDBG >= "1" Then\r
-                       msgbox "Local Subnet Management Service [OpenSM] started.",,_\r
-                                       "devman_install"\r
-               End If\r
-       End If\r
-\r
-    ' Check/install IPoIB driver\r
-       If IPOIB Then\r
-       devmanNET = "cmd.exe /c cd /d " & sInstalldir & _\r
-                                       "net & ..\IBcore\devman.exe "\r
-               cmd = devmanNET & "update netipoib.inf IBA\IPoIB"\r
-               rc = WshShell.Run (cmd,0,true)\r
-               If rc <> 0 Then\r
-                       msgbox "IPoIB Install Err(" & rc & ") " & cmd\r
-            devman_install=ERROR_INSTALL_FAILURE\r
-            Exit Function\r
-               ElseIf sDBG >= "1" Then\r
-                       msgbox "IPoIB Install OK.",,"devman_install"\r
-               End If\r
-    End If\r
-    \r
-       ' IB I/O Unit driver installed only if required by VNIC or SRP.\r
-\r
-    If VNIC OR SRP Then\r
-       rc = WshShell.Run (devman & "update ib_iou.inf IBA\IB_IOU",0,true)\r
-               If rc <> 0 Then\r
-                       msgbox "IOU Install Err(" & rc & ") update ib_iou.inf IBA\IB_IOU"\r
-            devman_install=ERROR_INSTALL_FAILURE\r
-            Exit Function\r
-               ElseIf sDBG >= "1" Then\r
-                       msgbox "IOU driver Install OK.",,"devman_install"\r
-               End If\r
-    End If\r
-\r
-    ' Install Qlogic VNIC Driver?\r
-       If VNIC Then\r
-               devman_Install_VNIC WshShell,sInstalldir\r
-    End if\r
-       \r
-    ' Install SRP (SCSI RDMA Protocol) Driver?\r
-    If SRP Then\r
-               For cnt=1 To 3\r
-                       rc = devman_Install_SRP(WshShell,sInstalldir)\r
-                       If rc <> -1 Then\r
-                               Exit For\r
-                       End If\r
-                       WshShell.popup "Waiting 10 seconds for SRP device(s) to appear",10,_\r
-                                               "WinOF - SRP Install"\r
-               Next\r
-               If rc = -1 Then\r
-                       msgbox "WinOF: Missing SRP device?" & vbCrLf _\r
-                               & "cd /d " & sInstalldir & "SRP" & vbCrLf _\r
-                               & "..\IBcore\devman find IBA\*" & vbCrLf _\r
-                               & "..\IBcore\devman update ib_srp.inf found-SRP-DevID" & vbCrLf\r
-               End If\r
-       End If\r
-\r
-       devman_install = 0\r
-\r
-End Function\r
-\r
-\r
 \r
 ''''''''''' Device Driver Install ''''''''''''\r
 \r
 Function DriverInstall()\r
-    Dim PropArray\r
-       Dim devman, devmanEXE\r
-    Dim rc, cmd, CheckMode, sInstalldir, fso\r
-       Dim DrvInstalled, idev, mlxdev, dev, dev_list\r
-       Dim VersionNT,IPOIB,SRP,VNIC,localSM\r
+    Dim CheckMode, PropArray\r
+       Dim VersionNT, InstallThis, localSM\r
+    Dim rc, cmd, sInstalldir, fso\r
 \r
        On Error Resume Next\r
 \r
@@ -1168,112 +757,43 @@ Function DriverInstall()
        VersionNT       = PropArray(4)\r
        InstallThis     = PropArray(5)\r
        sDBG            = PropArray(8) ' set global debug flag.\r
-\r
-    devman = "cmd.exe /c cd /d " & sInstalldir & "IBcore & devman.exe "\r
+       localSM         = instr(InstallThis,"fOSMS")\r
 \r
     Set WshShell = CreateObject("WScript.Shell")\r
     Set fso = CreateObject("Scripting.FileSystemObject")\r
        \r
-    If Not fso.FileExists(sInstalldir & "IBcore\devman.exe") Then\r
-        msgbox "DriverInstall: missing " & sInstalldir & "IBcore\devman.exe"\r
-        DriverInstall=ERROR_FUNCTION_FAILED \r
-        Exit Function\r
-    End if\r
-\r
-    If Not fso.FileExists(sInstalldir & "IBcore\dpinst.exe") Then\r
-        msgbox "DriverInstall: missing " & sInstalldir & "IBcore\dpinst.exe"\r
-        DriverInstall=ERROR_FUNCTION_FAILED \r
-        Exit Function\r
-    End if\r
-\r
     err.clear \r
-\r
-    ' rescan system buses\r
-    Return = WshShell.Run (devman & "rescan", 0, true)\r
                \r
-    ' Install HCA (Host Channel Adapter) Driver(s)\r
-    DrvInstalled = false\r
-\r
-       ' Which HCAs are selected to install?\r
-       ' Both InfiniHost(mthca) and ConnectX(mlx4) have the same\r
-       ' Vendor ID VEN_15B3, so a generic by 'Vendor ID' install will not suceed.\r
-       ' In the case of both InfiniHost and ConnectX (mixed) HCAs present, install\r
-       ' using VENDOR_ID and DEV_ID.\r
-\r
-       have_mlx4 = 0\r
-       have_mthca = 0\r
-\r
-       ' msgbox "InstallThis " & InstallThis\r
+       ' DIFxApp (Driver Install Frameworks for Applications)\r
+       ' http://www.microsoft.com/whdc/driver/install/DIFxFAQ.mspx#E4AAC \r
+       ' DIFxApp.wixlib has already installed driver to Driver Store; PNP will\r
+       ' handle the actual device driver install/rollback on failure.\r
 \r
-       have_mlx4       = instr(InstallThis,"hca_connectX")\r
-       have_mthca      = instr(InstallThis,"hca_mthca")\r
-       IPOIB           = instr(InstallThis,"fIPoIB")\r
-       localSM         = instr(InstallThis,"fOSMS")\r
-\r
-       SRP                     = instr(InstallThis,"fSRP") _\r
-                                       AND fso.FileExists(sInstalldir & "SRP\ib_srp.inf")\r
-\r
-       VNIC            = instr(InstallThis,"fVNIC") _\r
-                                       AND fso.FileExists(sInstalldir & "qlgcvnic\netvnic.inf")\r
-\r
-       ' Flag Windows LongHorn Install (aka Vista | Server 2008)\r
-\r
-       ' Use DPINST.EXE for Svr 2008 & Vista Driver Install (Windows LongHorn)\r
-       ' otherwise use devman.\r
-\r
-       If VersionNT >= UseDPinst Then\r
-           DriverInstall = dpinst_install(WshShell,sInstalldir,localSM,IPOIB,_\r
-                                                                               VNIC,SRP)\r
-       Else\r
-           DriverInstall = devman_install(WshShell,sInstalldir,have_mthca,_\r
-                                                                               have_mlx4,localSM,IPOIB,VNIC,SRP)\r
-       End If\r
-\r
-       If DriverInstall <> 0 Then\r
-               DriverUninstall\r
-               If VersionNT >= UseDPinst Then\r
-                       ' dpinst.exe removes from the 'Driver Store'\r
-               dpinst = "cmd.exe /c cd /d " & sInstalldir & "IBcore & dpinst.exe "\r
-                       If VNIC then\r
-                               find_remove_INF_file WshShell,dpinst,"netvnic.cat"\r
-                       End If\r
-\r
-                       If SRP then\r
-                               find_remove_INF_file WshShell,dpinst,"ib_srp.cat"\r
-                       End If\r
-                       find_remove_INF_file WshShell,dpinst,"ib_iou.cat"\r
-                       find_remove_INF_file WshShell,dpinst,"ipoib.cat"\r
-                       find_remove_INF_file WshShell,dpinst,"mthca.cat"\r
-                       find_remove_INF_file WshShell,dpinst,"mlx4"\r
-               End If\r
-\r
-               If VNIC then\r
-                       find_remove_INF_file WshShell,devman,"netvnic.cat"\r
-               End If\r
+       ' OpenSM Subnet Manager service was already created in the disabled state.\r
+       ' Should the Local OpenSM Subnet Manager service be started/enabled?\r
 \r
-               If SRP then\r
-                       find_remove_INF_file WshShell,devman,"ib_srp.cat"\r
+       If localSM Then\r
+               OpenSM_StartMeUp WshShell,sInstalldir\r
+               If sDBG >= "1" Then\r
+                       msgbox "Local Subnet Management Service [OpenSM] started.",,_\r
+                                       "DriverInstall"\r
                End If\r
-               find_remove_INF_file WshShell,devman,"ib_iou.cat"\r
-               find_remove_INF_file WshShell,devman,"ipoib.cat"\r
-               find_remove_INF_file WshShell,devman,"mthca.cat"\r
-               find_remove_INF_file WshShell,devman,"mlx4"\r
        End If\r
 \r
+       DriverInstall = 0\r
+\r
 End Function\r
 \r
 \r
 \r
 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''\r
 \r
-' Find IBA devices using Devcon\r
+' Find IBA devices using devman.exe\r
 \r
 Function Find_IBA_Devices(WshShell,sInstalldir) \r
        Dim dev\r
 \r
-       Set ibaDevicesExec = WshShell.Exec ("cmd.exe /c cd " & sInstalldir & "IBcore & devman.exe findall * | FIND ""IBA""")\r
-\r
-       ' Set ibaDevicesExec = WshShell.Exec ("cmd.exe /c cd " & sInstalldir & "IBcore & devman.exe find IBA\*")\r
+       Set ibaDevicesExec = WshShell.Exec ("cmd.exe /c cd " & sInstalldir & "Drivers & devman.exe findall * | FIND ""IBA""")\r
 \r
        ibaDevices = split(ibaDevicesExec.StdOut.ReadAll, vbCrLF)\r
 \r
@@ -1541,7 +1061,7 @@ Function GetDeviceInstallInfo(WshShell,sInstalldir,Dev)
        Dim devman,tmp,s,StrStart,StrEnd,FileCnt,INF\r
 \r
        devman = "cmd.exe /c cd /d " & sInstalldir & _\r
-                               "IBcore & devman.exe driverfiles ""@"\r
+                               "Drivers & devman.exe driverfiles ""@"\r
 \r
        Set connExec = WshShell.Exec(devman & Dev & """")\r
        cmdout = split(connExec.StdOut.ReadAll, vbCrLF)\r
@@ -1594,21 +1114,14 @@ End Function
 ' remove IB I/O Unit driver\r
 \r
 Sub    Uninstall_IOU(fso,WshShell,devList,sInstalldir,VersionNT)\r
-\r
-       Dim devman,tool\r
+       Dim tool\r
 \r
        RemoveDevice fso,WshShell,sInstalldir,devList,"InfiniBand I/O Unit",VersionNT\r
 \r
-       devman = "cmd.exe /c cd /d " & sInstalldir & "IBcore & devman.exe "\r
+       tool = "cmd.exe /c cd /d " & sInstalldir & "Drivers & dpinst.exe "\r
 \r
-       If VersionNT >= UseDPinst Then\r
-               ' use dpinst.exe instead of devman.exe for Windows LongHorn++\r
-               tool = replace(devman,"devman","dpinst")\r
-       Else\r
-               tool = devman\r
-       End If\r
+       ' dpinst (loads the driver store) not load the driver (no srp/vnic)\r
 \r
-       ' dpinst can install and not load the driver (no srp/vnic)\r
        find_remove_INF_file WshShell,tool,"ib_iou.cat"\r
 \r
 End Sub\r
@@ -1621,7 +1134,7 @@ Sub Uninstall_VNIC(fso,WshShell,devices,sInstalldir,VersionNT)
 \r
        Dim devman,Return,device,dt,sDRIVERS,tool,devInfo\r
 \r
-       devman = "cmd.exe /c cd /d " & sInstalldir & "IBcore & devman.exe "\r
+       devman = "cmd.exe /c cd /d " & sInstalldir & "Drivers & devman.exe "\r
 \r
        If IsNull(devices) Then\r
                ' create a list of IBA\* devices via "devcon find"\r
@@ -1646,12 +1159,8 @@ Sub Uninstall_VNIC(fso,WshShell,devices,sInstalldir,VersionNT)
            End if\r
        Next\r
 \r
-       If VersionNT >= UseDPinst Then\r
-               ' use dpinst.exe instead of devman.exe for Windows LongHorn++\r
-               tool = replace(devman,"devman","dpinst")\r
-       Else\r
-               tool = devman\r
-       End If\r
+       ' use dpinst.exe instead of devman.exe for Windows LongHorn++\r
+       tool = replace(devman,"devman","dpinst")\r
 \r
        If IsNull(devInfo) Then\r
                find_remove_INF_file WshShell,tool,"netvnic.cat"\r
@@ -1663,6 +1172,19 @@ Sub Uninstall_VNIC(fso,WshShell,devices,sInstalldir,VersionNT)
 End Sub\r
 \r
 \r
+' QLogic Virtual FC I/O controller or\r
+' InfiniBand SRP Miniport: IBA\C0100C609EP0108 or IBA\CFF00C609EP0108\r
+' OFED SRP target: IBA\V000002P00005A44\r
+' one driver handles all three.\r
+\r
+SRP_IDS = Array(_\r
+                       "IBA\V000002P00005A44",_\r
+                       "IBA\C0100C609EP0108",_\r
+                       "IBA\CFF00C609EP0108",_\r
+                       "IBA\V00066AP00000038",_\r
+                       "IBA\V000006P00006282")\r
+\r
+\r
 Sub Uninstall_SRP(fso,WshShell,devices,sInstalldir,VersionNT)\r
 \r
        Dim devman,devmanRMAT,devmanDAAT,Return,device,sDRIVERS,tool,devInfo\r
@@ -1672,7 +1194,7 @@ Sub Uninstall_SRP(fso,WshShell,devices,sInstalldir,VersionNT)
        ' one driver handles all three.\r
        ' See previous SRP_IDS definition @ Install_SRP.\r
 \r
-       devman = "cmd.exe /c cd /d " & sInstalldir & "IBcore & devman.exe "\r
+       devman = "cmd.exe /c cd /d " & sInstalldir & "Drivers & devman.exe "\r
        devmanRMAT = devman & "remove @"\r
        devmanDAAT = devman & "disable @"\r
        devInfo = Null\r
@@ -1706,12 +1228,8 @@ Sub Uninstall_SRP(fso,WshShell,devices,sInstalldir,VersionNT)
                Next\r
        Next\r
 \r
-       If VersionNT >= UseDPinst Then\r
-               ' use dpinst.exe instead of devman.exe for Windows LongHorn++\r
-               tool = replace(devman,"devman","dpinst")\r
-       Else\r
-               tool = devman\r
-       End If\r
+       ' use dpinst.exe instead of devman.exe for Windows LongHorn++\r
+       tool = replace(devman,"devman","dpinst")\r
 \r
        'No SRP device - check/clear to be safe.\r
        If IsNull(devInfo) Then\r
@@ -1728,7 +1246,7 @@ Sub RemoveDevice(fso,WshShell,sInstalldir,devList,DeviceTag,VersionNT)
 \r
        dim device,devman,devmanRMAT,devTarget,dt,Return,devInfo\r
 \r
-       devman = "cmd.exe /c cd /d " & sInstalldir & "IBcore & devman.exe "\r
+       devman = "cmd.exe /c cd /d " & sInstalldir & "Drivers & devman.exe "\r
        devmanRMAT = devman & "remove ""@"\r
        devmanDAAT = devman & "disable ""@"\r
        devInfo = Null\r
@@ -1760,12 +1278,8 @@ Sub RemoveDevice(fso,WshShell,sInstalldir,devList,DeviceTag,VersionNT)
                Exit Sub\r
        End If\r
 \r
-       If VersionNT >= UseDPinst Then\r
-               ' use dpinst.exe instead of devman.exe for Windows LongHorn++\r
-               tool = replace(devman,"devman","dpinst")\r
-       Else\r
-               tool = devman\r
-       End If\r
+       ' use dpinst.exe instead of devman.exe for Windows LongHorn++\r
+       tool = replace(devman,"devman","dpinst")\r
 \r
        cleanup_driver_files fso,WshShell,sInstalldir,tool,VersionNT,devInfo\r
 \r
@@ -1777,7 +1291,7 @@ Sub remove_all_HCA_devices(fso,WshShell,sInstalldir,VersionNT)
 \r
        Dim devman,tool\r
 \r
-       devman = "cmd.exe /c cd /d " & sInstalldir & "IBcore & devman.exe "\r
+       devman = "cmd.exe /c cd /d " & sInstalldir & "Drivers & devman.exe "\r
 \r
        ' Old (CoInstaller version) ibbus GUID - just in case.\r
        Return = WshShell.Run (devman & "remove {94F41CED-78EB-407C-B5DF-958040AF0FD8",0,true)\r
@@ -1787,12 +1301,8 @@ Sub remove_all_HCA_devices(fso,WshShell,sInstalldir,VersionNT)
        ' VEN_15B3 covers devices: mthca & mlx4_bus\r
        RemoveDevice fso,WshShell,sInstalldir,Null,"PCI\VEN_15B3",VersionNT\r
 \r
-       If VersionNT >= UseDPinst Then\r
-               ' use dpinst.exe instead of devman.exe for Windows LongHorn++\r
-               tool = "cmd.exe /c cd /d " & sInstalldir & "IBcore & dpinst.exe "\r
-       Else\r
-               tool = devman\r
-       End If\r
+       ' use dpinst.exe instead of devman.exe for Windows LongHorn++\r
+       tool = "cmd.exe /c cd /d " & sInstalldir & "Drivers & dpinst.exe "\r
 \r
        find_remove_INF_file WshShell,tool,"mthca"\r
        find_remove_INF_file WshShell,tool,"mlx4_hca"\r
@@ -1809,11 +1319,11 @@ Sub Uninstall_IB_Devices(fso,WshShell,sInstalldir,VersionNT)
 \r
        Dim devList\r
 \r
-       If (fso.FileExists(sInstalldir & "IBcore\dpinst.exe") = False) Then\r
+       If (fso.FileExists(sInstalldir & "Drivers\dpinst.exe") = False) Then\r
            Exit Sub ' no reason to continue without the tool.\r
        End if\r
 \r
-       If (fso.FileExists(sInstalldir & "IBcore\devman.exe") = False) Then\r
+       If (fso.FileExists(sInstalldir & "Drivers\devman.exe") = False) Then\r
            Exit Sub ' no reason to continue without the tool.\r
        End if\r
 \r
@@ -1867,9 +1377,9 @@ Sub DriverUninstall()
                sRemove = "ALL"\r
        End If\r
 \r
-       If fso.FileExists(sInstalldir & "net\ndinstall.exe") Then\r
+       If fso.FileExists(sInstalldir & "Drivers\net\ndinstall.exe") Then\r
            Return = WshShell.Run ("cmd.exe /c cd /d " & sInstalldir & _\r
-                                  "net & ndinstall.exe -r", 0, true)\r
+                                  "Drivers\net & ndinstall.exe -r", 0, true)\r
        End If\r
        \r
        If sVersionNT <> WindowsXP AND fso.FileExists(sInstalldir & "installsp.exe") Then\r
@@ -2116,7 +1626,7 @@ Sub RunOnceCleanup(fso,sInstalldir)
   End if\r
 \r
   script = "RunOnceWinOFcleanup.bat"\r
-  src = sInstalldir & "IBcore\" & script\r
+  src = sInstalldir & "Drivers\" & script\r
 \r
   If Not fso.FileExists(src) Then\r
        msgbox "Missing " & src\r
@@ -2232,7 +1742,7 @@ End Function
 \r
 Function InstallChanged\r
 \r
-    Dim rc, sInstalldir, sAddLocal, sRemove, sDRIVERS, NeedReboot, WLH\r
+    Dim rc, sInstalldir, sRemove, sDRIVERS, NeedReboot\r
     Err.clear\r
 \r
     sRemove = Session.Property("REMOVE")\r
@@ -2248,50 +1758,14 @@ Function InstallChanged
        NeedReboot = 0\r
 \r
     sInstalldir = Session.Property("INSTALLDIR")\r
-    sAddLocal = Session.Property("ADDLOCAL")\r
 \r
-       ' Flag Windows LongHorn Install (aka Vista | Server 2008)\r
        VersionNT = Session.Property("VersionNT")\r
-       If VersionNT >= UseDPinst Then\r
-               WLH = 1\r
-       Else\r
-               WLH = 0\r
-       End if\r
 \r
        On Error Resume Next \r
 \r
-       If (Not IsNull(sAddLocal)) AND (sAddLocal <> "") Then\r
-               If Instr(sAddLocal,"fSRP") OR Instr(sAddLocal,"fVNIC") Then\r
-                       ' IOU driver loaded into driver store when HCA driver installed.\r
-                       If WLH = 0 Then\r
-                               devman_Install_IOU WshShell,sInstalldir\r
-                       End If\r
-               End If\r
-\r
-               If Instr(sAddLocal,"fSRP") Then\r
-               If fso.FileExists(sInstalldir & "SRP\ib_srp.inf") Then\r
-                               If WLH Then\r
-                                       rc = dpinst_Install_SRP(WshShell,sInstalldir)\r
-                               Else\r
-                                       rc = devman_Install_SRP(WshShell,sInstalldir)\r
-                               End If\r
-                       Else\r
-                       msgbox "ERR: missing " & sInstalldir & "SRP\ib_srp.inf"\r
-                       End If\r
-               End If\r
+       ' Nothing to do for ADD as DIFxAPP has loaded drivers into Driver Store.\r
 \r
-               If Instr(sAddLocal,"fVNIC") Then\r
-               If fso.FileExists(sInstalldir & "qlgcvnic\netvnic.inf") Then\r
-                               If WLH Then\r
-                                       rc = dpinst_Install_VNIC(WshShell,sInstalldir)\r
-                               Else\r
-                                       devman_Install_VNIC WshShell,sInstalldir\r
-                               End If\r
-                       Else\r
-                               msgbox "Err: missing " & sInstalldir & "qlgcvnic\netvnic.inf"\r
-                       End If\r
-               End If\r
-       End If\r
+       ' For REMOVE - cleanup\r
 \r
        If (Not IsNull(sRemove)) AND (sRemove <> "") Then\r
 \r
index 6a0da21..5b93f01 100644 (file)
@@ -1,94 +1,21 @@
 <Include>\r
+\r
     <Component Id="cIBcore"\r
                Guid="4B4EA649-65ED-4B0D-8717-D60481412211">\r
       <CreateFolder />\r
       <File Id="dpinst.exe" Compressed="yes" DiskId="1"\r
-             LongName="dpinst.exe" Name="dpinst.exe"\r
-             Source="..\..\$(var.ARCHP)\dpinst.exe" />\r
+             LongName="DPInst.exe" Name="DPInst.exe"\r
+             Source="..\bin\misc\$(var.ARCH)\DPInst.exe" />\r
       <File Id="dpinst.xml" Compressed="yes" DiskId="1"\r
              LongName="dpinst.xml" Name="dpinst.xml"\r
              Source="..\..\dpinst.xml" />\r
       <File Id="devman.exe" Compressed="yes" DiskId="1"\r
              LongName="devman.exe" Name="devman.exe"\r
              Source="..\..\$(var.ARCHP)\devman.exe" />\r
-      <File Id="wdfcoinstaller" Compressed="yes" DiskId="1"\r
-             LongName="WdfCoInstaller$(var.WDFVER).dll" Name="WCO.dll"\r
-             Source="..\bin\hca\$(var.ARCH)\WdfCoInstaller$(var.WDFVER).dll" />\r
-      <File Id="complib.dll" Compressed="yes" DiskId="1"\r
-             LongName="complib.dll" Name="COMPLIB.DLL"\r
-             Source="..\bin\HCA\$(var.ARCH)\complib.dll" />\r
-      <File Id="complibd.dll" Compressed="yes" DiskId="1"\r
-             LongName="complibd.dll" Name="COMPLIB1.DLL"\r
-             Source="..\bin\HCA\$(var.ARCH)\complibd.dll" />\r
-      <File Id="ibal.dll" Compressed="yes" DiskId="1"\r
-             LongName="ibal.dll" Name="IBAL.DLL"\r
-             Source="..\bin\HCA\$(var.ARCH)\ibal.dll" />\r
-      <File Id="ibald.dll" Compressed="yes" DiskId="1"\r
-             LongName="ibald.dll" Name="IBALD.DLL"\r
-             Source="..\bin\HCA\$(var.ARCH)\ibald.dll" />\r
-      <File Id="ibbus.sys" Compressed="yes" DiskId="1"\r
-             LongName="ibbus.sys" Name="IBBUS.SYS"\r
-             Source="..\bin\HCA\$(var.ARCH)\ibbus.sys" />\r
-      <File Id="ibbus.pdb" Name="ibbus.pdb" DiskId="1" Compressed="yes"\r
-             Source="..\bin\HCA\$(var.ARCH)\ibbus.pdb" />\r
-\r
-      <File Id="ibiou.sys" Compressed="yes" DiskId="1"\r
-             LongName="ibiou.sys" Name="IBIOU.SYS"\r
-             Source="..\bin\HCA\$(var.ARCH)\ibiou.sys" />\r
-      <File Id="ibiou.pdb" Compressed="yes" DiskId="1"\r
-             Name="ibiou.pdb"\r
-             Source="..\bin\HCA\$(var.ARCH)\ibiou.pdb" />\r
-      <File Id="ib_iou.cat" Compressed="yes" DiskId="1"\r
-             LongName="ib_iou.cat" Name="IB_IOU.cat"\r
-             Source="..\bin\HCA\$(var.ARCH)\ib_iou.cat" />\r
-      <File Id="ib_iou.inf" Compressed="yes" DiskId="1"\r
-             LongName="ib_iou.inf" Name="IB_IOU.inf"\r
-             Source="..\bin\HCA\$(var.ARCH)\ib_iou.inf" />\r
-\r
-      <?if $(var.ARCHP) = "x64" Or $(var.ARCHP) = "ia64" ?>\r
-          <File Id="cl32.dll" Compressed="yes" DiskId="1"\r
-                 LongName="cl32.dll" Name="CL32.DLL"\r
-                 Source="..\bin\HCA\$(var.ARCH)\cl32.dll" />\r
-          <File Id="cl32d.dll" Compressed="yes" DiskId="1"\r
-                 LongName="cl32d.dll" Name="CL32D.DLL"\r
-                 Source="..\bin\HCA\$(var.ARCH)\cl32d.dll" />\r
-          <File Id="ibal32.dll" Compressed="yes" DiskId="1"\r
-                 LongName="ibal32.dll" Name="IBAL32.DLL"\r
-                 Source="..\bin\HCA\$(var.ARCH)\ibal32.dll" />\r
-          <File Id="ibal32d.dll" Compressed="yes" DiskId="1"\r
-                 LongName="ibal32d.dll" Name="IBAL32D.DLL"\r
-                 Source="..\bin\HCA\$(var.ARCH)\ibal32d.dll" />\r
+    </Component>\r
 \r
-          <RemoveFile Id='rm64_ibal.dll' On='uninstall'\r
-                 Property="System64Folder"\r
-                 Name="ibal.dll" LongName='ibal.dll' />\r
-          <RemoveFile Id='rm64_ibald.dll' On='uninstall'\r
-                 Property="System64Folder"\r
-                 Name="ibald.dll" LongName='ibald.dll' />\r
-          <RemoveFile Id='rm64_complib.dll' On='uninstall'\r
-                 Property="System64Folder"\r
-                 Name="complib.dll" LongName='complib.dll' />\r
-          <RemoveFile Id='rm64_complibd.dll' On='uninstall'\r
-                 Property="System64Folder"\r
-                 Name="complibd.dll" LongName='complibd.dll' />\r
-      <?endif?>\r
+    <?include ..\..\common\mlnx_drivers.inc ?>\r
 \r
-      <!--\r
-         Orphaned install files - remove on uninstall\r
-         x64 SystemFolder == SysWOW64, System64Folder == System32\r
-      -->\r
-      <RemoveFile Id='rm_ibal.dll' On='uninstall'\r
-             Property="SystemFolder"\r
-             Name="ibal.dll" LongName='ibal.dll' />\r
-      <RemoveFile Id='rm_ibald.dll' On='uninstall'\r
-             Property="SystemFolder"\r
-             Name="ibald.dll" LongName='ibald.dll' />\r
-      <RemoveFile Id='rm_complib.dll' On='uninstall'\r
-             Property="SystemFolder"\r
-             Name="complib.dll" LongName='complib.dll' />\r
-      <RemoveFile Id='rm_complibd.dll' On='uninstall'\r
-             Property="SystemFolder"\r
-             Name="complibd.dll" LongName='complibd.dll' />\r
+    <?include ..\..\common\iou.inc ?>\r
 \r
-    </Component>\r
 </Include>\r
diff --git a/WinOF/WIX/common/hca_filters.inc b/WinOF/WIX/common/hca_filters.inc
new file mode 100644 (file)
index 0000000..eeaa49e
--- /dev/null
@@ -0,0 +1,78 @@
+<Include>\r
+\r
+      <!-- Assumes FLTR is uiniquely set, see mlnx_drivers.inc -->\r
+\r
+      <File Id="$(var.FLTR)complib.dll" Compressed="yes" DiskId="1"\r
+             LongName="complib.dll" Name="COMPLIB.DLL"\r
+             Source="..\bin\HCA\$(var.ARCH)\complib.dll" />\r
+      <File Id="$(var.FLTR)complibd.dll" Compressed="yes" DiskId="1"\r
+             LongName="complibd.dll" Name="COMPLIB1.DLL"\r
+             Source="..\bin\HCA\$(var.ARCH)\complibd.dll" />\r
+\r
+      <File Id="$(var.FLTR)ibal.dll" Compressed="yes" DiskId="1"\r
+             LongName="ibal.dll" Name="IBAL.DLL"\r
+             Source="..\bin\HCA\$(var.ARCH)\ibal.dll" />\r
+      <File Id="$(var.FLTR)ibald.dll" Compressed="yes" DiskId="1"\r
+             LongName="ibald.dll" Name="IBALD.DLL"\r
+             Source="..\bin\HCA\$(var.ARCH)\ibald.dll" />\r
+\r
+      <File Id="$(var.FLTR)ibbus.sys" Compressed="yes" DiskId="1"\r
+             LongName="ibbus.sys" Name="IBBUS.SYS"\r
+             Source="..\bin\HCA\$(var.ARCH)\ibbus.sys" />\r
+      <File Id="$(var.FLTR)ibbus.pdb" Name="ibbus.pdb" DiskId="1"\r
+             Compressed="yes"\r
+             Source="..\bin\HCA\$(var.ARCH)\ibbus.pdb" />\r
+\r
+      <?if $(var.ARCHP) = "x64" Or $(var.ARCHP) = "ia64" ?>\r
+          <File Id="$(var.FLTR)cl32.dll" Compressed="yes" DiskId="1"\r
+                 LongName="cl32.dll" Name="CL32.DLL"\r
+                 Source="..\bin\HCA\$(var.ARCH)\cl32.dll" />\r
+          <File Id="$(var.FLTR)cl32d.dll" Compressed="yes" DiskId="1"\r
+                 LongName="cl32d.dll" Name="CL32D.DLL"\r
+                 Source="..\bin\HCA\$(var.ARCH)\cl32d.dll" />\r
+\r
+          <File Id="$(var.FLTR)ibal32.dll" Compressed="yes" DiskId="1"\r
+                 LongName="ibal32.dll" Name="IBAL32.DLL"\r
+                 Source="..\bin\HCA\$(var.ARCH)\ibal32.dll" />\r
+          <File Id="$(var.FLTR)ibal32d.dll" Compressed="yes" DiskId="1"\r
+                 LongName="ibal32d.dll" Name="IBAL32D.DLL"\r
+                 Source="..\bin\HCA\$(var.ARCH)\ibal32d.dll" />\r
+\r
+          <RemoveFile Id='$(var.FLTR)rm64_ibal.dll' On='uninstall'\r
+                 Property="System64Folder"\r
+                 Name="ibal.dll" LongName='ibal.dll' />\r
+          <RemoveFile Id='$(var.FLTR)rm64_ibald.dll' On='uninstall'\r
+                 Property="System64Folder"\r
+                 Name="ibald.dll" LongName='ibald.dll' />\r
+          <RemoveFile Id='$(var.FLTR)rm64_complib.dll' On='uninstall'\r
+                 Property="System64Folder"\r
+                 Name="complib.dll" LongName='complib.dll' />\r
+          <RemoveFile Id='$(var.FLTR)rm64_complibd.dll' On='uninstall'\r
+                 Property="System64Folder"\r
+                 Name="complibd.dll" LongName='complibd.dll' />\r
+      <?endif?>\r
+\r
+      <!--\r
+         Orphaned install files - remove on uninstall\r
+         x64 SystemFolder == SysWOW64, System64Folder == System32\r
+      -->\r
+      <RemoveFile Id='$(var.FLTR)rm_ibal.dll' On='uninstall'\r
+             Property="SystemFolder"\r
+             Name="ibal.dll" LongName='ibal.dll' />\r
+      <RemoveFile Id='$(var.FLTR)rm_ibald.dll' On='uninstall'\r
+             Property="SystemFolder"\r
+             Name="ibald.dll" LongName='ibald.dll' />\r
+      <RemoveFile Id='$(var.FLTR)rm_complib.dll' On='uninstall'\r
+             Property="SystemFolder"\r
+             Name="complib.dll" LongName='complib.dll' />\r
+      <RemoveFile Id='$(var.FLTR)rm_complibd.dll' On='uninstall'\r
+             Property="SystemFolder"\r
+             Name="complibd.dll" LongName='complibd.dll' />\r
+\r
+      <RemoveFile Id='$(var.FLTR)rm_ibbus.sys' On='uninstall'\r
+             Property="SystemFolder"\r
+             Name="ibbus.sys" LongName='ibbus.sys' />\r
+\r
+      <?include ..\..\common\winverbs_drivers.inc ?> \r
+\r
+</Include>\r
diff --git a/WinOF/WIX/common/iou.inc b/WinOF/WIX/common/iou.inc
new file mode 100644 (file)
index 0000000..21c4f56
--- /dev/null
@@ -0,0 +1,27 @@
+<Include>\r
+  <Directory Id="IOU" Name="IOU">\r
+    <Component Id="cIOUdriver"\r
+               Guid="77F3A3C5-0C12-4e21-A788-8B9F1BF89A01"\r
+               DriverDeleteFiles="yes"\r
+               DriverForceInstall="yes"\r
+               DriverLegacy="no"\r
+               DriverPlugAndPlayPrompt="no"\r
+               DriverAddRemovePrograms="no"\r
+               DriverSequence="5" >\r
+      <CreateFolder />\r
+\r
+      <File Id="ibiou.sys" Compressed="yes" DiskId="1"\r
+             LongName="ibiou.sys" Name="IBIOU.SYS"\r
+             Source="..\bin\HCA\$(var.ARCH)\ibiou.sys" />\r
+      <File Id="ibiou.pdb" Compressed="yes" DiskId="1"\r
+             Name="ibiou.pdb"\r
+             Source="..\bin\HCA\$(var.ARCH)\ibiou.pdb" />\r
+      <File Id="ib_iou.cat" Compressed="yes" DiskId="1"\r
+             LongName="ib_iou.cat" Name="IB_IOU.cat"\r
+             Source="..\bin\HCA\$(var.ARCH)\ib_iou.cat" />\r
+      <File Id="ib_iou.inf" Compressed="yes" DiskId="1"\r
+             LongName="ib_iou.inf" Name="IB_IOU.inf"\r
+             Source="..\bin\HCA\$(var.ARCH)\ib_iou.inf" />\r
+    </Component>\r
+  </Directory>\r
+</Include>\r
index 72335bd..7d11e9e 100644 (file)
@@ -1,6 +1,16 @@
 <Include>\r
-    <Component Id="IPoIB" Guid="18CC13CC-0D29-4B88-8F03-854CE0C6AF94">\r
+\r
+ <Directory Id="ipoibDir" Name="net">\r
+\r
+    <Component Id="cIPoIB" Guid="18CC13CC-0D29-4B88-8F03-854CE0C6AF94"\r
+               DriverDeleteFiles="yes"\r
+               DriverForceInstall="yes"\r
+               DriverLegacy="no"\r
+               DriverPlugAndPlayPrompt="no"\r
+               DriverAddRemovePrograms="no"\r
+               DriverSequence="4" >\r
       <CreateFolder />\r
+\r
       <File Id="netipoib_inf" Compressed="yes" DiskId="1"\r
              LongName="netipoib.inf" Name="NETIPOI.INF"\r
              Source="..\bin\net\$(var.ARCH)\netipoib.inf" />\r
@@ -35,9 +45,6 @@
                  Name="ibwsd32.dll" LongName='ibwsd32.dll' />\r
         <?endif?>\r
 \r
-        <RemoveFile Id='rm32_ibwsd.dll' On='uninstall'\r
-                 Property="SystemFolder"\r
-                 Name="ibwsd.dll" LongName='ibwsd.dll' />\r
       <?endif?>\r
 \r
       <?if $(var.ARCHP) != "ia64" ?>\r
 \r
       <!-- Orphaned install files - remove on uninstall -->\r
 \r
+      <RemoveFile Id='rm_ipoib.sys' On='uninstall'\r
+             Property="SystemFolder"\r
+             Name="ipoib.sys" LongName='ipoib.sys' />\r
+      <RemoveFile Id='rm32_ibwsd.dll' On='uninstall'\r
+             Property="SystemFolder"\r
+             Name="ibwsd.dll" LongName='ibwsd.dll' />\r
       <RemoveFile Id='o64_ibndprov.dll' On='uninstall'\r
              Property="SystemFolder"\r
              Name="ibndprov.dll" LongName='ibndprov.dll' />\r
@@ -72,4 +85,6 @@
              Name="ndinstal.exe" LongName='ndinstall.exe' />\r
 \r
     </Component>\r
+ </Directory>\r
+\r
 </Include>\r
index cd3b594..9335a60 100644 (file)
@@ -1,17 +1,19 @@
 <Include>\r
+\r
+  <Directory Id="dMTHCA" Name="mthca">\r
+\r
     <Component Id="cMthcaDriver"\r
-               Guid="BE4ED061-C852-40a2-A240-F06DBBE1159F">\r
+               Guid="BE4ED061-C852-40a2-A240-F06DBBE1159F"\r
+               DriverDeleteFiles="yes"\r
+               DriverForceInstall="yes"\r
+               DriverLegacy="no"\r
+               DriverPlugAndPlayPrompt="no"\r
+               DriverAddRemovePrograms="no"\r
+               DriverSequence="1" >\r
 \r
-      <?if $(var.ARCHP) = "x64" Or $(var.ARCH) = "ia64" ?>\r
-          <File Id="mthca32.dll" Compressed="yes" DiskId="1"\r
-                 LongName="mthca32.dll" Name="MTHCA32.DLL"\r
-                 Source="..\bin\HCA\$(var.ARCH)\mthca32.dll" />\r
-          <File Id="mthca32d.dll" Compressed="yes" DiskId="1"\r
-                 LongName="mthca32d.dll" Name="MTHCA321.DLL"\r
-                 Source="..\bin\HCA\$(var.ARCH)\mthca32d.dll" />\r
-      <?endif?>\r
+      <CreateFolder />\r
 \r
-      <File Id="mthca.inf" Compressed="yes" DiskId="1"\r
+      <File Id="mthca.inf" Compressed="yes" DiskId="1" Vital="yes" KeyPath="yes"\r
              LongName="mthca.inf" Name="MTHCA.INF"\r
              Source="..\bin\HCA\$(var.ARCH)\mthca.inf" />\r
       <File Id="mthca.cat" Compressed="yes" DiskId="1"\r
       <File Id="mthcaud.dll" Compressed="yes" DiskId="1"\r
              LongName="mthcaud.dll" Name="MTHCAUD.DLL"\r
              Source="..\bin\HCA\$(var.ARCH)\mthcaud.dll" />\r
+      <File Id="mthca_wdfcoinstaller" Compressed="yes" DiskId="1"\r
+             LongName="WdfCoInstaller$(var.WDFVER).dll" Name="WCO.dll"\r
+             Source="..\bin\hca\$(var.ARCH)\WdfCoInstaller$(var.WDFVER).dll" />\r
+\r
+      <?if $(var.ARCHP) = "x64" Or $(var.ARCH) = "ia64" ?>\r
+          <File Id="mthca32.dll" Compressed="yes" DiskId="1"\r
+                 LongName="mthca32.dll" Name="MTHCA32.DLL"\r
+                 Source="..\bin\HCA\$(var.ARCH)\mthca32.dll" />\r
+          <File Id="mthca32d.dll" Compressed="yes" DiskId="1"\r
+                 LongName="mthca32d.dll" Name="MTHCA321.DLL"\r
+                 Source="..\bin\HCA\$(var.ARCH)\mthca32d.dll" />\r
 \r
-      <?if $(var.ARCHP) = "x64" Or $(var.ARCHP) = "ia64" ?>\r
           <!-- Orphaned install files - remove on uninstall -->\r
           <RemoveFile Id='rm64_mthcau.dll' On='uninstall'\r
                  Property="System64Folder"\r
           <RemoveFile Id='rm64_mthcaud.dll' On='uninstall'\r
                  Property="System64Folder"\r
                  Name="mthcaud.dll" LongName='mthcaud.dll' />\r
+          <RemoveFile Id='rm64_mthca.sys' On='uninstall'\r
+                 Property="System64Folder"\r
+                 Name="mthca.sys" LongName='mthca.sys' />\r
       <?endif?>\r
 \r
-      <!-- Orphaned install files - remove on uninstall -->\r
-      <RemoveFile Id='rm32_mthcau.dll' On='uninstall'\r
+      <!-- Sometimes Orphaned install files - remove on uninstall -->\r
+      <RemoveFile Id='rm_mthcau.dll' On='uninstall'\r
              Property="SystemFolder"\r
              Name="mthcau.dll" LongName='mthcau.dll' />\r
-      <RemoveFile Id='rm32_mthcaud.dll' On='uninstall'\r
+      <RemoveFile Id='rm_mthcaud.dll' On='uninstall'\r
              Property="SystemFolder"\r
              Name="mthcaud.dll" LongName='mthcaud.dll' />\r
+      <RemoveFile Id='rm_mthca.sys' On='uninstall'\r
+             Property="SystemFolder"\r
+             Name="mthca.sys" LongName='mthca.sys' />\r
+\r
+      <?define FLTR=mth_ ?> \r
+      <?include ..\..\common\hca_filters.inc ?>\r
 \r
     </Component>\r
+  </Directory>\r
 \r
+  <Directory Id="dMLX4_hca" Name="mlx4_hca">\r
+\r
+    <Component Id="cMLX4HcaDriver"\r
+               Guid="C1EFF4D6-CE55-432a-9D92-E46AB983D9E3"\r
+               DriverDeleteFiles="yes"\r
+               DriverForceInstall="yes"\r
+               DriverLegacy="no"\r
+               DriverPlugAndPlayPrompt="no"\r
+               DriverAddRemovePrograms="no"\r
+               DriverSequence="2" >\r
+      <CreateFolder />\r
 \r
-    <Component Id="cConnectXDriver"\r
-               Guid="C1EFF4D6-CE55-432a-9D92-E46AB983D9E3">\r
-      <File Id="mlx4_bus.inf" Compressed="yes" DiskId="1"\r
-             LongName="mlx4_bus.inf" Name="mlx4_bus.INF"\r
-             Source="..\bin\hca\$(var.ARCH)\mlx4_bus.inf" />\r
-      <File Id="mlx4_bus.cat" Compressed="yes" DiskId="1"\r
-             LongName="mlx4_bus.cat" Name="mlx4_bus.cat"\r
-             Source="..\bin\hca\$(var.ARCH)\mlx4_bus.cat" />\r
-      <File Id="mlx4_bus.sys" Compressed="yes" DiskId="1"\r
-             LongName="mlx4_bus.sys" Name="mlx4_bus.sys"\r
-             Source="..\bin\hca\$(var.ARCH)\mlx4_bus.sys" />\r
-      <File Id="mlx4_bus.pdb" Compressed="yes" DiskId="1"\r
-             Name="mlx4_bus.pdb"\r
-             Source="..\bin\hca\$(var.ARCH)\mlx4_bus.pdb" />\r
       <File Id="mlx4_hca.inf" Compressed="yes" DiskId="1"\r
              LongName="mlx4_hca.inf" Name="mlx4_hca.INF"\r
              Source="..\bin\hca\$(var.ARCH)\mlx4_hca.inf" />\r
       <File Id="mlx4ud.dll" Compressed="yes" DiskId="1"\r
              LongName="mlx4ud.dll" Name="mlx4ud.dll"\r
              Source="..\bin\hca\$(var.ARCH)\mlx4ud.dll" />\r
+      <File Id="mlx1_wdfcoinstaller" Compressed="yes" DiskId="1"\r
+             LongName="WdfCoInstaller$(var.WDFVER).dll" Name="WCO.dll"\r
+             Source="..\bin\hca\$(var.ARCH)\WdfCoInstaller$(var.WDFVER).dll" />\r
 \r
       <?if $(var.ARCHP) = "x64" Or $(var.ARCHP) = "ia64" ?>\r
           <!-- copy 32-bit binaries for 32b in x64 -->\r
           <RemoveFile Id='rm64_mlx4u.dll' On='uninstall'\r
                  Property="System64Folder"\r
                  Name="mlx4u.dll" LongName='mlx4u.dll' />\r
+          <RemoveFile Id='rm64_mlx4ud.dll' On='uninstall'\r
+                 Property="System64Folder"\r
+                 Name="mlx4ud.dll" LongName='mlx4ud.dll' />\r
+          <RemoveFile Id='rm64_mlx4_bus.sys' On='uninstall'\r
+                 Property="System64Folder"\r
+                 Name="mlx4_bus.sys" LongName='mlx4_bus.sys' />\r
+          <RemoveFile Id='rm64_mlx4_hca.sys' On='uninstall'\r
+                 Property="System64Folder"\r
+                 Name="mlx4_hca.sys" LongName='mlx4_hca.sys' />\r
       <?endif?>\r
 \r
       <!-- Orphaned install files - remove on uninstall -->\r
-      <RemoveFile Id='rm32_mlx4u.dll' On='uninstall'\r
+      <RemoveFile Id='rm_mlx4_bus.sys' On='uninstall'\r
+             Property="SystemFolder"\r
+             Name="mlx4_bus.sys" LongName='mlx4_bus.sys' />\r
+      <RemoveFile Id='rm_mlx4_hca.sys' On='uninstall'\r
+             Property="SystemFolder"\r
+             Name="mlx4_hca.sys" LongName='mlx4_hca.sys' />\r
+      <RemoveFile Id='rm_mlx4u.dll' On='uninstall'\r
              Property="SystemFolder"\r
              Name="mlx4u.dll" LongName='mlx4u.dll' />\r
+      <RemoveFile Id='rm_mlx4ud.dll' On='uninstall'\r
+             Property="SystemFolder"\r
+             Name="mlx4ud.dll" LongName='mlx4ud.dll' />\r
+\r
+      <?undef FLTR ?> \r
+      <?define FLTR=mlx_ ?> \r
+      <?include ..\..\common\hca_filters.inc ?>\r
 \r
     </Component>\r
+  </Directory>\r
+\r
+  <Directory Id="dMLX4_bus" Name="mlx4_bus">\r
+    <Component Id="cMLX4BusDriver"\r
+               Guid="B7EFA77D-1CE7-4bd1-BCFF-077D90C4B06E"\r
+               DriverDeleteFiles="yes"\r
+               DriverForceInstall="yes"\r
+               DriverLegacy="no"\r
+               DriverPlugAndPlayPrompt="no"\r
+               DriverAddRemovePrograms="no"\r
+               DriverSequence="3" >\r
+      <CreateFolder />\r
+\r
+      <File Id="mlx4_bus.inf" Compressed="yes" DiskId="1"\r
+             LongName="mlx4_bus.inf" Name="mlx4_bus.INF"\r
+             Source="..\bin\hca\$(var.ARCH)\mlx4_bus.inf" />\r
+      <File Id="mlx4_bus.cat" Compressed="yes" DiskId="1"\r
+             LongName="mlx4_bus.cat" Name="mlx4_bus.cat"\r
+             Source="..\bin\hca\$(var.ARCH)\mlx4_bus.cat" />\r
+      <File Id="mlx4_bus.sys" Compressed="yes" DiskId="1"\r
+             LongName="mlx4_bus.sys" Name="mlx4_bus.sys"\r
+             Source="..\bin\hca\$(var.ARCH)\mlx4_bus.sys" />\r
+      <File Id="mlx4_bus.pdb" Compressed="yes" DiskId="1"\r
+             Name="mlx4_bus.pdb"\r
+             Source="..\bin\hca\$(var.ARCH)\mlx4_bus.pdb" />\r
+      <File Id="mlx2_wdfcoinstaller" Compressed="yes" DiskId="1"\r
+             LongName="WdfCoInstaller$(var.WDFVER).dll" Name="WCO.dll"\r
+             Source="..\bin\hca\$(var.ARCH)\WdfCoInstaller$(var.WDFVER).dll" />\r
+    </Component>\r
+  </Directory>\r
+\r
 </Include>\r
index d810dcd..f8a9239 100644 (file)
@@ -1,12 +1,16 @@
 <Include>\r
-    <Component Id="cQLVNIC_driver_installed"\r
-               Guid="730C742E-73D9-4871-A523-6FB7963EA01E">\r
-    </Component>\r
+   <Directory Id="qlgcvnicDir" Name="qlgcvnic">\r
 \r
-    <Directory Id="qlgcvnicDir" Name="qlgcvnic">\r
-      <Component Id="cQLVNIC_files"\r
-                 Guid="2AE69B67-C5FD-4CEE-9DF4-FB0A55619B4A">\r
+      <Component Id="cQLVNIC_driver_installed"\r
+               Guid="730C742E-73D9-4871-A523-6FB7963EA01E"\r
+               DriverDeleteFiles="yes"\r
+               DriverForceInstall="yes"\r
+               DriverLegacy="no"\r
+               DriverPlugAndPlayPrompt="no"\r
+               DriverAddRemovePrograms="no"\r
+               DriverSequence="6" >\r
         <CreateFolder />\r
+\r
         <File Id="qlgcvnic.sys" Compressed="yes" DiskId="1"\r
               LongName="qlgcvnic.sys" Name="QLGCVNIC.SYS"\r
               Source="..\bin\net\$(var.ARCH)\qlgcvnic.sys" />\r
@@ -20,5 +24,5 @@
               LongName="netvnic.cat" Name="NETVNIC.cat"\r
               Source="..\bin\net\$(var.ARCH)\netvnic.cat" />\r
       </Component>\r
-    </Directory>\r
+   </Directory>\r
 </Include>\r
index 42c2aae..2c3ac4d 100644 (file)
@@ -1,26 +1,33 @@
 <Include>\r
 \r
-    <Component Id="cSRP_driver_installed"\r
-               Guid="6945E66C-ADC0-4258-8858-AE7E7DF70495">\r
-    </Component>\r
-\r
     <!-- RDMA SCSI over IB (aka SRP) -->\r
-    <Directory Id="srpDir" Name="SRP">\r
-      <Component Id="cSRP_files"\r
-                 Guid="BB58772F-061F-48B0-B6D5-0C0E38A301B2">\r
-        <File Id="ib_srp.inf" Compressed="yes" DiskId="1"\r
-              LongName="ib_srp.inf" Name="IB_SRP.INF"\r
+\r
+   <Directory Id="srpDir" Name="SRP">\r
+\r
+      <Component Id="cSRP_driver_installed"\r
+               Guid="6945E66C-ADC0-4258-8858-AE7E7DF70495"\r
+               DriverDeleteFiles="yes"\r
+               DriverForceInstall="yes"\r
+               DriverLegacy="no"\r
+               DriverPlugAndPlayPrompt="no"\r
+               DriverAddRemovePrograms="no"\r
+               DriverSequence="7" >\r
+        <CreateFolder />\r
+\r
+        <File Id="drv_ib_srp.inf" Compressed="yes" DiskId="1" Vital="yes"\r
+              Name="IB_SRP.INF"\r
               Source="..\bin\storage\$(var.ARCH)\ib_srp.inf" />\r
-        <File Id="ibsrp.cat" Compressed="yes" DiskId="1"\r
-              LongName="ibsrp.cat" Name="IBSRP.CAT"\r
+        <File Id="drv_ibsrp.cat" Compressed="yes" DiskId="1" Vital="yes"\r
+              Name="IBSRP.CAT"\r
               Source="..\bin\storage\$(var.ARCH)\ibsrp.cat" />\r
-        <File Id="ibsrp.sys" Compressed="yes" DiskId="1"\r
-              LongName="ibsrp.sys" Name="IBSRP.SYS"\r
+        <File Id="drv_ibsrp.sys" Compressed="yes" DiskId="1" Vital="yes"\r
+              Name="IBSRP.SYS" \r
               Source="..\bin\storage\$(var.ARCH)\ibsrp.sys" />\r
         <File Id="ibsrp.pdb" Compressed="yes" DiskId="1"\r
               Name="ibsrp.pdb"\r
               Source="..\bin\storage\$(var.ARCH)\ibsrp.pdb" />\r
       </Component>\r
-    </Directory>\r
+\r
+   </Directory>\r
 \r
 </Include>\r
index 1b147a7..7f58e5c 100644 (file)
@@ -1,30 +1,47 @@
 <Include>\r
-    <Component Id="cWinVerbsDrivers"\r
-               Guid="F5FA1491-E2D2-4f22-9549-07C61F86BFEB">\r
 \r
-      <File Id="winverbs.sys" Compressed="yes" DiskId="1"\r
+      <File Id="$(var.FLTR)winverbs.sys" Compressed="yes" DiskId="1"\r
             LongName="winverbs.sys" Name="winverbs.sys"\r
             Source="..\bin\HCA\$(var.ARCH)\winverbs.sys" />\r
-      <File Id="winverbs.pdb" Compressed="yes" DiskId="1"\r
+      <File Id="$(var.FLTR)winverbs.pdb" Compressed="yes" DiskId="1"\r
             LongName="winverbs.pdb" Name="winverbs.pdb"\r
             Source="..\bin\HCA\$(var.ARCH)\winverbs.pdb" />\r
-      <File Id="winverbs.dll" Compressed="yes" DiskId="1"\r
+      <File Id="$(var.FLTR)winverbs.dll" Compressed="yes" DiskId="1"\r
             LongName="winverbs.dll" Name="winvrbs.dll"\r
             Source="..\bin\HCA\$(var.ARCH)\winverbs.dll" />\r
-      <File Id="winverbsd.dll" Compressed="yes" DiskId="1"\r
+      <File Id="$(var.FLTR)winverbsd.dll" Compressed="yes" DiskId="1"\r
             LongName="winverbsd.dll" Name="winvrbsd.dll"\r
             Source="..\bin\HCA\$(var.ARCH)\winverbsd.dll" />\r
-      <File Id="winmad.sys" Compressed="yes" DiskId="1"\r
+      <File Id="$(var.FLTR)winmad.sys" Compressed="yes" DiskId="1"\r
             LongName="winmad.sys" Name="winmad.sys"\r
             Source="..\bin\HCA\$(var.ARCH)\winmad.sys" />\r
-      <File Id="winmad.pdb" Compressed="yes" DiskId="1"\r
+      <File Id="$(var.FLTR)winmad.pdb" Compressed="yes" DiskId="1"\r
             LongName="winmad.pdb" Name="winmad.pdb"\r
             Source="..\bin\HCA\$(var.ARCH)\winmad.pdb" />\r
-      <File Id="winmad.dll" Compressed="yes" DiskId="1"\r
+      <File Id="$(var.FLTR)winmad.dll" Compressed="yes" DiskId="1"\r
             LongName="winmad.dll" Name="winmad.dll"\r
             Source="..\bin\HCA\$(var.ARCH)\winmad.dll" />\r
-      <File Id="winmadd.dll" Compressed="yes" DiskId="1"\r
+      <File Id="$(var.FLTR)winmadd.dll" Compressed="yes" DiskId="1"\r
             LongName="winmadd.dll" Name="winmaddd.dll"\r
             Source="..\bin\HCA\$(var.ARCH)\winmadd.dll" />\r
-    </Component>\r
+\r
+      <RemoveFile Id='$(var.FLTR)rm_winverbs.dll' On='uninstall'\r
+             Property="SystemFolder"\r
+             Name="winverbs.dll" LongName='winverbs.dll' />\r
+      <RemoveFile Id='$(var.FLTR)rm_winverbsd.dll' On='uninstall'\r
+             Property="SystemFolder"\r
+             Name="winverbd.dll" LongName='winverbsd.dll' />\r
+      <RemoveFile Id='$(var.FLTR)rm_winmad.dll' On='uninstall'\r
+             Property="SystemFolder"\r
+             Name="winmad.dll" LongName='winmad.dll' />\r
+      <RemoveFile Id='$(var.FLTR)rm_winmadd.dll' On='uninstall'\r
+             Property="SystemFolder"\r
+             Name="winmadd.dll" LongName='winmadd.dll' />\r
+      <RemoveFile Id='$(var.FLTR)rm_winverbs.sys' On='uninstall'\r
+             Property="SystemFolder"\r
+             Name="winverbs.sys" LongName='winverbs.sys' />\r
+      <RemoveFile Id='$(var.FLTR)rm_winmad.sys' On='uninstall'\r
+             Property="SystemFolder"\r
+             Name="winmad.sys" LongName='winmad.sys' />\r
+\r
 </Include>\r
index 77e75f2..2ce9b00 100644 (file)
@@ -12,26 +12,39 @@ L=..\..\WIX_tools\wix-2.0.5805.0-binaries
 \r
 WIX_UI="$(L)\wixui.wixlib" -loc "$(L)\WixUI_en-us.wxl"\r
 \r
+DFX=DIFxApp.wixlib\r
+# Since makebin.bat knows correct WDK version, it copies the DIFX APP files\r
+# to the bin\ tree; eliminates Makefiles having to know about WDK versions.\r
+DFXP=..\bin\Misc\ia64\r
+\r
 full: clean $(P).msi\r
 \r
 clean:\r
-       @del /q $(P).msi 2>nul\r
        @del /q $(S).wixobj 2>nul\r
+       @del /q $(P).msi 2>nul\r
        @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 MySetup: $(P).msi\r
 \r
 license.rtf: ..\..\license.rtf\r
        @copy ..\..\license.rtf .\license.rtf\r
 \r
+# .dlls need to be in the current folder\r
+$(DFX) : $(DFXP)\$(DFX) $(DFXP)\DIFxApp.dll $(DFXP)\DIFxAppA.dll\r
+       @copy /B/Y $(DFXP)\DIFxApp.dll .\r
+       @copy /B/Y $(DFXP)\DIFxAppA.dll .\r
+       @copy /B/Y $(DFXP)\$(DFX) .\r
+\r
 $(S).wixobj: $(S).wxs\r
 \r
-$(P).msi: $(S).wixobj license.rtf\r
+$(P).msi: $(S).wixobj license.rtf $(DFX)\r
        @echo --\r
        @echo Building $(P).msi\r
-       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(WIX_UI)\r
+       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(DFX) $(WIX_UI)\r
        @del /q $(S).wixobj 2>nul\r
        @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 \r
 ###################\r
index 986308f..df8faa4 100644 (file)
           <?include ..\..\common\Tools.inc ?>\r
           <?include ..\..\common\OpenSM_service.inc ?>\r
 \r
-          <Directory Id="IBcoreDir" Name="IBcore">\r
-            <?include ..\..\common\IBcore.inc ?>\r
-            <?include ..\..\common\mlnx_drivers.inc ?>\r
-            <?include ..\..\common\winverbs_drivers.inc ?>\r
+          <Directory Id="DriversDir" Name="Drivers">\r
+              <?include ..\..\common\IBcore.inc ?>\r
+              <?include ..\..\common\ipoib.inc ?>\r
+              <?include ..\..\common\qlgc_vnic.inc ?>\r
+              <?include ..\..\common\srp.inc ?>\r
           </Directory>\r
 \r
           <?include ..\..\common\checked.inc ?>\r
           <?include ..\..\common\winverbs_OFED.inc ?>\r
 \r
-          <Directory Id="ipoibDir" Name="net">\r
-            <?include ..\..\common\ipoib.inc ?>\r
-          </Directory>\r
-\r
           <Component Id="WinsockDirect"\r
                      Guid="516A61B4-EBC2-41CE-8D18-81BADA4649D4">\r
             <File Id="installsp.exe" Compressed="yes" DiskId="1"\r
@@ -81,8 +78,6 @@
           </Component>\r
 -->\r
           <?include ..\..\common\dapl_rt.inc ?>\r
-          <?include ..\..\common\qlgc_vnic.inc ?>\r
-          <?include ..\..\common\srp.inc ?>\r
 \r
         </Directory>\r
       </Directory>\r
          Display="expand" ConfigurableDirectory="INSTALLDIR"\r
          AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
       <ComponentRef Id="cMthcaDriver" />\r
-      <ComponentRef Id="cConnectXDriver" />\r
+      <ComponentRef Id="cMLX4BusDriver" />\r
+      <ComponentRef Id="cMLX4HcaDriver" />\r
     </Feature>\r
 \r
     <Feature Id="IBcore" Title="InfiniBand Core Modules" Level="1"\r
         Display="expand" ConfigurableDirectory="INSTALLDIR"\r
         AllowAdvertise="no" InstallDefault="local" Absent="disallow">\r
       <ComponentRef Id="cIBcore" />\r
-      <ComponentRef Id="cWinVerbsDrivers" />\r
+      <ComponentRef Id="cIOUdriver" />\r
       <ComponentRef Id="Docs" />\r
       <ComponentRef Id="Tools" />\r
       <ComponentRef Id="OpenSMservice" />\r
-      <ComponentRef Id="cQLVNIC_files" />\r
-      <ComponentRef Id="cSRP_files" />\r
     </Feature>\r
 \r
     <Feature Id="fWV" Title="WinVerbs"\r
         Description="Internet Protocols over InfiniBand" Display="expand"\r
         ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no"\r
         InstallDefault="local" Absent="allow">\r
-      <ComponentRef Id="IPoIB" />\r
+      <ComponentRef Id="cIPoIB" />\r
     </Feature>\r
 \r
     <Feature Id="fWSD" Title="WSD" Description="Winsock Direct Enabled"\r
-            Display="expand" Level="1" ConfigurableDirectory="INSTALLDIR"\r
-         AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
+           Display="expand" Level="1" ConfigurableDirectory="INSTALLDIR"\r
+        AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
       <!-- skip WSD on Windows XP, IPoIB is required for WSD. -->\r
       <Condition Level="200"><![CDATA[VersionNT=501]]></Condition>\r
       <Condition Level="201"> IPOIB_EXISTS </Condition>\r
         Display="expand" Level="2" ConfigurableDirectory="INSTALLDIR"\r
         AllowAdvertise="no" InstallDefault="local" Absent="allow">\r
         <ComponentRef Id="cNetworkDirect" />\r
-        <Condition Level="201"> IPOIB_EXISTS </Condition> \r
+        <Condition Level="201"> IPOIB_EXISTS </Condition>\r
     </Feature>\r
 -->\r
     <Feature Id="fOSMS" Title="OpenSM Service Started" Level="5"\r
         Description="Open Subnet Management started as a local Windows Service"\r
         Display="expand" ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no"\r
         InstallDefault="local" Absent="allow">\r
-        <ComponentRef Id="OpenSM_Service_enabled" />\r
+      <ComponentRef Id="OpenSM_Service_enabled" />\r
     </Feature>\r
 \r
     <Feature Id="fDAPL" Title="DAPL" Description="DAT+DAPL over InfiniBand"\r
     </Feature>\r
 \r
     <Feature Id="fSRP" Title="SRP" Level="5" Description="SCSI over RDMA"\r
-         Display="expand" ConfigurableDirectory="INSTALLDIR"\r
-         AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
+        Display="expand" ConfigurableDirectory="INSTALLDIR"\r
+        AllowAdvertise="no" InstallDefault="local" Absent="allow">\r
       <ComponentRef Id="cSRP_driver_installed" />\r
     </Feature>\r
 \r
index e0527ea..acba40e 100644 (file)
@@ -12,26 +12,39 @@ L=..\..\WIX_tools\wix-2.0.5805.0-binaries
 \r
 WIX_UI="$(L)\wixui.wixlib" -loc "$(L)\WixUI_en-us.wxl"\r
 \r
+DFX=DIFxApp.wixlib\r
+# Since makebin.bat knows correct WDK version, it copies the DIFX APP files\r
+# to the bin\ tree; eliminates Makefiles having to know about WDK versions.\r
+DFXP=..\bin\Misc\amd64\r
+\r
 full: clean $(P).msi\r
 \r
 clean:\r
-  @del /q $(P).msi 2>nul\r
-  @del /q $(S).wixobj 2>nul\r
-  @del /q license.rtf 2>nul\r
+       @del /q $(S).wixobj 2>nul\r
+       @del /q $(P).msi 2>nul\r
+       @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 MySetup: $(P).msi\r
 \r
 license.rtf: ..\..\license.rtf\r
        @copy ..\..\license.rtf .\license.rtf\r
 \r
+# .dlls need to be in the current folder\r
+$(DFX) : $(DFXP)\$(DFX) $(DFXP)\DIFxApp.dll $(DFXP)\DIFxAppA.dll\r
+       @copy /B/Y $(DFXP)\DIFxApp.dll .\r
+       @copy /B/Y $(DFXP)\DIFxAppA.dll .\r
+       @copy /B/Y $(DFXP)\$(DFX) .\r
+\r
 $(S).wixobj: $(S).wxs\r
 \r
-$(P).msi: $(S).wixobj license.rtf\r
+$(P).msi: $(S).wixobj license.rtf $(DFX)\r
        @echo --\r
        @echo Building $(P).msi\r
-       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(WIX_UI)\r
+       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(DFX) $(WIX_UI)\r
        @del /q $(S).wixobj 2>nul\r
        @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 \r
 ###################\r
index 14b3909..52eebf1 100644 (file)
           <?include ..\..\common\Tools.inc ?>\r
           <?include ..\..\common\OpenSM_service.inc ?>\r
 \r
-          <Directory Id="IBcoreDir" Name="IBcore">\r
-            <?include ..\..\common\IBcore.inc ?>\r
-            <?include ..\..\common\mlnx_drivers.inc ?>\r
-            <?include ..\..\common\winverbs_drivers.inc ?>\r
+          <Directory Id="DriversDir" Name="Drivers">\r
+              <?include ..\..\common\IBcore.inc ?>\r
+              <?include ..\..\common\ipoib.inc ?>\r
+              <?include ..\..\common\qlgc_vnic.inc ?>\r
+              <?include ..\..\common\srp.inc ?>\r
           </Directory>\r
 \r
           <?include ..\..\common\checked.inc ?>\r
           <?include ..\..\common\winverbs_OFED.inc ?>\r
 \r
-          <Directory Id="ipoibDir" Name="net">\r
-            <?include ..\..\common\ipoib.inc ?>\r
-          </Directory>\r
-\r
           <Component Id="WinsockDirect"\r
                      Guid="516A61B4-EBC2-41CE-8D18-81BADA4649D4">\r
             <File Id="installsp.exe" Compressed="yes" DiskId="1"\r
           </Component>\r
 \r
           <?include ..\..\common\dapl_rt.inc ?>\r
-          <?include ..\..\common\qlgc_vnic.inc ?>\r
-          <?include ..\..\common\srp.inc ?>\r
+\r
+          <Component Id="cCertPush"\r
+                     Guid="8B3AEC30-CFED-4d90-A48E-AD2C8C55FEFD">\r
+            <File Id="cert_add.bat" Compressed="yes" DiskId="1"\r
+                     LongName="cert-add.bat" Name="cert-add.bat"\r
+                     Source="cert-add.bat" />\r
+            <File Id="rem_cert_add.bat" Compressed="yes" DiskId="1"\r
+                     LongName="rem-cert-add.bat" Name="remC-add.bat"\r
+                     Source="rem-cert-add.bat" />\r
+          </Component>\r
 \r
         </Directory>\r
       </Directory>\r
          Display="expand" ConfigurableDirectory="INSTALLDIR"\r
          AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
       <ComponentRef Id="cMthcaDriver" />\r
-      <ComponentRef Id="cConnectXDriver" />\r
+      <ComponentRef Id="cMLX4BusDriver" />\r
+      <ComponentRef Id="cMLX4HcaDriver" />\r
     </Feature>\r
 \r
     <Feature Id="IBcore" Title="InfiniBand Core Modules" Level="1"\r
         Display="expand" ConfigurableDirectory="INSTALLDIR"\r
         AllowAdvertise="no" InstallDefault="local" Absent="disallow">\r
       <ComponentRef Id="cIBcore" />\r
-      <ComponentRef Id="cWinVerbsDrivers" />\r
+      <ComponentRef Id="cIOUdriver" />\r
       <ComponentRef Id="Docs" />\r
       <ComponentRef Id="Tools" />\r
       <ComponentRef Id="OpenSMservice" />\r
-      <ComponentRef Id="cQLVNIC_files" />\r
-      <ComponentRef Id="cSRP_files" />\r
+      <ComponentRef Id="cCertPush" />\r
     </Feature>\r
 \r
     <Feature Id="fWV" Title="WinVerbs"\r
         Description="Internet Protocols over InfiniBand" Display="expand"\r
         ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no"\r
         InstallDefault="local" Absent="allow">\r
-      <ComponentRef Id="IPoIB" />\r
+      <ComponentRef Id="cIPoIB" />\r
     </Feature>\r
 \r
     <Feature Id="fWSD" Title="WSD" Description="Winsock Direct Enabled"\r
-            Display="expand" Level="1" ConfigurableDirectory="INSTALLDIR"\r
-         AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
+           Display="expand" Level="1" ConfigurableDirectory="INSTALLDIR"\r
+        AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
       <!-- skip WSD on Windows XP, IPoIB is required for WSD. -->\r
       <Condition Level="200"><![CDATA[VersionNT=501]]></Condition>\r
       <Condition Level="201"> IPOIB_EXISTS </Condition>\r
         Description="Open Subnet Management started as a local Windows Service"\r
         Display="expand" ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no"\r
         InstallDefault="local" Absent="allow">\r
-        <ComponentRef Id="OpenSM_Service_enabled" />\r
+      <ComponentRef Id="OpenSM_Service_enabled" />\r
     </Feature>\r
 \r
     <Feature Id="fDAPL" Title="DAPL" Description="DAT+DAPL over InfiniBand"\r
     </Feature>\r
 \r
     <Feature Id="fSRP" Title="SRP" Level="5" Description="SCSI over RDMA"\r
-         Display="expand" ConfigurableDirectory="INSTALLDIR"\r
-         AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
+        Display="expand" ConfigurableDirectory="INSTALLDIR"\r
+        AllowAdvertise="no" InstallDefault="local" Absent="allow">\r
       <ComponentRef Id="cSRP_driver_installed" />\r
     </Feature>\r
 \r
index db2cf5c..f53d575 100644 (file)
@@ -3,31 +3,48 @@
 #\r
 S=WOF\r
 P=$(S)_win7_x86\r
+\r
+#WIX 2.0\r
 # L=..\..\WIX_tools\wix-2.0.5325.0-binaries\r
 L=..\..\WIX_tools\wix-2.0.5805.0-binaries\r
 \r
+# WIX 3.0 L=..\WIX_tools\wix-3.0.2925.0-binaries\r
+\r
 WIX_UI="$(L)\wixui.wixlib" -loc "$(L)\WixUI_en-us.wxl"\r
 \r
+DFX=DIFxApp.wixlib\r
+# Since makebin.bat knows correct WDK version, it copies the DIFX APP files\r
+# to the bin\ tree; eliminates Makefiles having to know about WDK versions.\r
+DFXP=..\bin\Misc\x86\r
+\r
 full: clean $(P).msi\r
 \r
 clean:\r
        @del /q $(S).wixobj 2>nul\r
        @del /q $(P).msi 2>nul\r
        @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 MySetup: $(P).msi\r
 \r
 license.rtf: ..\..\license.rtf\r
        @copy ..\..\license.rtf .\license.rtf\r
 \r
+# .dlls need to be in the current folder\r
+$(DFX) : $(DFXP)\$(DFX) $(DFXP)\DIFxApp.dll $(DFXP)\DIFxAppA.dll\r
+       @copy /B/Y $(DFXP)\DIFxApp.dll .\r
+       @copy /B/Y $(DFXP)\DIFxAppA.dll .\r
+       @copy /B/Y $(DFXP)\$(DFX) .\r
+\r
 $(S).wixobj: $(S).wxs\r
 \r
-$(P).msi: $(S).wixobj license.rtf\r
+$(P).msi: $(S).wixobj license.rtf $(DFX)\r
        @echo --\r
        @echo Building $(P).msi\r
-       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(WIX_UI)\r
+       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(DFX) $(WIX_UI)\r
        @del /q $(S).wixobj 2>nul\r
        @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 \r
 ###################\r
index a4d1297..23ac09b 100644 (file)
           <?include ..\..\common\Tools.inc ?>\r
           <?include ..\..\common\OpenSM_service.inc ?>\r
 \r
-          <Directory Id="IBcoreDir" Name="IBcore">\r
-            <?include ..\..\common\IBcore.inc ?>\r
-            <?include ..\..\common\mlnx_drivers.inc ?>\r
-            <?include ..\..\common\winverbs_drivers.inc ?>\r
+          <Directory Id="DriversDir" Name="Drivers">\r
+              <?include ..\..\common\IBcore.inc ?>\r
+              <?include ..\..\common\ipoib.inc ?>\r
+              <?include ..\..\common\qlgc_vnic.inc ?>\r
+              <?include ..\..\common\srp.inc ?>\r
           </Directory>\r
 \r
           <?include ..\..\common\checked.inc ?>\r
           <?include ..\..\common\winverbs_OFED.inc ?>\r
 \r
-          <Directory Id="ipoibDir" Name="net">\r
-            <?include ..\..\common\ipoib.inc ?>\r
-          </Directory>\r
-\r
           <Component Id="WinsockDirect"\r
                      Guid="516A61B4-EBC2-41CE-8D18-81BADA4649D4">\r
             <File Id="installsp.exe" Compressed="yes" DiskId="1"\r
@@ -75,8 +72,6 @@
           </Component>\r
 \r
           <?include ..\..\common\dapl_rt.inc ?>\r
-          <?include ..\..\common\qlgc_vnic.inc ?>\r
-          <?include ..\..\common\srp.inc ?>\r
 \r
         </Directory>\r
       </Directory>\r
          Display="expand" ConfigurableDirectory="INSTALLDIR"\r
          AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
       <ComponentRef Id="cMthcaDriver" />\r
-      <ComponentRef Id="cConnectXDriver" />\r
+      <ComponentRef Id="cMLX4BusDriver" />\r
+      <ComponentRef Id="cMLX4HcaDriver" />\r
     </Feature>\r
 \r
     <Feature Id="IBcore" Title="InfiniBand Core Modules" Level="1"\r
         Display="expand" ConfigurableDirectory="INSTALLDIR"\r
         AllowAdvertise="no" InstallDefault="local" Absent="disallow">\r
       <ComponentRef Id="cIBcore" />\r
-      <ComponentRef Id="cWinVerbsDrivers" />\r
+      <ComponentRef Id="cIOUdriver" />\r
       <ComponentRef Id="Docs" />\r
       <ComponentRef Id="Tools" />\r
       <ComponentRef Id="OpenSMservice" />\r
-      <ComponentRef Id="cQLVNIC_files" />\r
-      <ComponentRef Id="cSRP_files" />\r
     </Feature>\r
 \r
     <Feature Id="fWV" Title="WinVerbs"\r
         Description="Internet Protocols over InfiniBand" Display="expand"\r
         ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no"\r
         InstallDefault="local" Absent="allow">\r
-        <ComponentRef Id="IPoIB" />\r
+      <ComponentRef Id="cIPoIB" />\r
     </Feature>\r
 \r
     <Feature Id="fWSD" Title="WSD" Description="Winsock Direct Enabled"\r
         Description="Open Subnet Management started as a local Windows Service"\r
         Display="expand" ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no"\r
         InstallDefault="local" Absent="allow">\r
-        <ComponentRef Id="OpenSM_Service_enabled" />\r
+      <ComponentRef Id="OpenSM_Service_enabled" />\r
     </Feature>\r
 \r
     <Feature Id="fDAPL" Title="DAPL" Description="DAT+DAPL over InfiniBand"\r
     </Feature>\r
 \r
     <Feature Id="fSRP" Title="SRP" Level="5" Description="SCSI over RDMA"\r
-        Display="expand" ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no"\r
-        InstallDefault="local" Absent="allow">\r
+        Display="expand" ConfigurableDirectory="INSTALLDIR"\r
+        AllowAdvertise="no" InstallDefault="local" Absent="allow">\r
         <!-- skip SRP on 32-bit Windows XP -->\r
         <Condition Level="0">\r
           <![CDATA[VersionNT=501 AND (Not Intel64 AND Not Msix64)]]>\r
         </Condition>\r
-        <ComponentRef Id="cSRP_driver_installed" />\r
+      <ComponentRef Id="cSRP_driver_installed" />\r
     </Feature>\r
 \r
     <Feature Id="fVNIC" Title="QLogic-VNIC"\r
index 4a54647..21537cd 100644 (file)
@@ -12,26 +12,39 @@ L=..\..\WIX_tools\wix-2.0.5805.0-binaries
 \r
 WIX_UI="$(L)\wixui.wixlib" -loc "$(L)\WixUI_en-us.wxl"\r
 \r
+DFX=DIFxApp.wixlib\r
+# Since makebin.bat knows correct WDK version, it copies the DIFX APP files\r
+# to the bin\ tree; eliminates Makefiles having to know about WDK versions.\r
+DFXP=..\bin\Misc\ia64\r
+\r
 full: clean $(P).msi\r
 \r
 clean:\r
-       @del /q $(P).msi 2>nul\r
        @del /q $(S).wixobj 2>nul\r
+       @del /q $(P).msi 2>nul\r
        @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 MySetup: $(P).msi\r
 \r
 license.rtf: ..\..\license.rtf\r
        @copy ..\..\license.rtf .\license.rtf\r
 \r
+# .dlls need to be in the current folder\r
+$(DFX) : $(DFXP)\$(DFX) $(DFXP)\DIFxApp.dll $(DFXP)\DIFxAppA.dll\r
+       @copy /B/Y $(DFXP)\DIFxApp.dll .\r
+       @copy /B/Y $(DFXP)\DIFxAppA.dll .\r
+       @copy /B/Y $(DFXP)\$(DFX) .\r
+\r
 $(S).wixobj: $(S).wxs\r
 \r
-$(P).msi: $(S).wixobj license.rtf\r
+$(P).msi: $(S).wixobj license.rtf $(DFX)\r
        @echo --\r
        @echo Building $(P).msi\r
-       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(WIX_UI)\r
+       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(DFX) $(WIX_UI)\r
        @del /q $(S).wixobj 2>nul\r
        @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 \r
 ###################\r
index a18a044..b90ae9f 100644 (file)
           <?include ..\..\common\Tools.inc ?>\r
           <?include ..\..\common\OpenSM_service.inc ?>\r
 \r
-          <Directory Id="IBcoreDir" Name="IBcore">\r
-            <?include ..\..\common\IBcore.inc ?>\r
-            <?include ..\..\common\mlnx_drivers.inc ?>\r
-            <?include ..\..\common\winverbs_drivers.inc ?>\r
+          <Directory Id="DriversDir" Name="Drivers">\r
+              <?include ..\..\common\IBcore.inc ?>\r
+              <?include ..\..\common\ipoib.inc ?>\r
+              <?include ..\..\common\qlgc_vnic.inc ?>\r
+              <?include ..\..\common\srp.inc ?>\r
           </Directory>\r
 \r
           <?include ..\..\common\checked.inc ?>\r
           <?include ..\..\common\winverbs_OFED.inc ?>\r
 \r
-          <Directory Id="ipoibDir" Name="net">\r
-            <?include ..\..\common\ipoib.inc ?>\r
-          </Directory>\r
-\r
           <Component Id="WinsockDirect"\r
                      Guid="516A61B4-EBC2-41CE-8D18-81BADA4649D4">\r
             <File Id="installsp.exe" Compressed="yes" DiskId="1"\r
@@ -82,8 +79,6 @@
           </Component>\r
 -->\r
           <?include ..\..\common\dapl_rt.inc ?>\r
-          <?include ..\..\common\qlgc_vnic.inc ?>\r
-          <?include ..\..\common\srp.inc ?>\r
 \r
         </Directory>\r
       </Directory>\r
          Display="expand" ConfigurableDirectory="INSTALLDIR"\r
          AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
       <ComponentRef Id="cMthcaDriver" />\r
-      <ComponentRef Id="cConnectXDriver" />\r
+      <ComponentRef Id="cMLX4BusDriver" />\r
+      <ComponentRef Id="cMLX4HcaDriver" />\r
     </Feature>\r
 \r
     <Feature Id="IBcore" Title="InfiniBand Core Modules" Level="1"\r
         Display="expand" ConfigurableDirectory="INSTALLDIR"\r
         AllowAdvertise="no" InstallDefault="local" Absent="disallow">\r
       <ComponentRef Id="cIBcore" />\r
-      <ComponentRef Id="cWinVerbsDrivers" />\r
+      <ComponentRef Id="cIOUdriver" />\r
       <ComponentRef Id="Docs" />\r
       <ComponentRef Id="Tools" />\r
       <ComponentRef Id="OpenSMservice" />\r
-      <ComponentRef Id="cQLVNIC_files" />\r
-      <ComponentRef Id="cSRP_files" />\r
     </Feature>\r
 \r
     <Feature Id="fWV" Title="WinVerbs"\r
         Description="Internet Protocols over InfiniBand" Display="expand"\r
         ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no"\r
         InstallDefault="local" Absent="allow">\r
-      <ComponentRef Id="IPoIB" />\r
+      <ComponentRef Id="cIPoIB" />\r
     </Feature>\r
 \r
     <Feature Id="fWSD" Title="WSD" Description="Winsock Direct Enabled"\r
-            Display="expand" Level="1" ConfigurableDirectory="INSTALLDIR"\r
-         AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
+           Display="expand" Level="1" ConfigurableDirectory="INSTALLDIR"\r
+        AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
       <!-- skip WSD on Windows XP, IPoIB is required for WSD. -->\r
       <Condition Level="200"><![CDATA[VersionNT=501]]></Condition>\r
       <Condition Level="201"> IPOIB_EXISTS </Condition>\r
index 8a943d8..2d4d308 100644 (file)
@@ -12,26 +12,39 @@ L=..\..\WIX_tools\wix-2.0.5805.0-binaries
 \r
 WIX_UI="$(L)\wixui.wixlib" -loc "$(L)\WixUI_en-us.wxl"\r
 \r
+DFX=DIFxApp.wixlib\r
+# Since makebin.bat knows correct WDK version, it copies the DIFX APP files\r
+# to the bin\ tree; eliminates Makefiles having to know about WDK versions.\r
+DFXP=..\bin\Misc\amd64\r
+\r
 full: clean $(P).msi\r
 \r
 clean:\r
-  @del /q $(P).msi 2>nul\r
-  @del /q $(S).wixobj 2>nul\r
-  @del /q license.rtf 2>nul\r
+       @del /q $(S).wixobj 2>nul\r
+       @del /q $(P).msi 2>nul\r
+       @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 MySetup: $(P).msi\r
 \r
 license.rtf: ..\..\license.rtf\r
        @copy ..\..\license.rtf .\license.rtf\r
 \r
+# .dlls need to be in the current folder\r
+$(DFX) : $(DFXP)\$(DFX) $(DFXP)\DIFxApp.dll $(DFXP)\DIFxAppA.dll\r
+       @copy /B/Y $(DFXP)\DIFxApp.dll .\r
+       @copy /B/Y $(DFXP)\DIFxAppA.dll .\r
+       @copy /B/Y $(DFXP)\$(DFX) .\r
+\r
 $(S).wixobj: $(S).wxs\r
 \r
-$(P).msi: $(S).wixobj license.rtf\r
+$(P).msi: $(S).wixobj license.rtf $(DFX)\r
        @echo --\r
        @echo Building $(P).msi\r
-       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(WIX_UI)\r
+       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(DFX) $(WIX_UI)\r
        @del /q $(S).wixobj 2>nul\r
        @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 \r
 ###################\r
index 5af2ef0..e5e5cf4 100644 (file)
           <?include ..\..\common\Tools.inc ?>\r
           <?include ..\..\common\OpenSM_service.inc ?>\r
 \r
-          <Directory Id="IBcoreDir" Name="IBcore">\r
-            <?include ..\..\common\IBcore.inc ?>\r
-            <?include ..\..\common\mlnx_drivers.inc ?>\r
-            <?include ..\..\common\winverbs_drivers.inc ?>\r
+          <Directory Id="DriversDir" Name="Drivers">\r
+              <?include ..\..\common\IBcore.inc ?>\r
+              <?include ..\..\common\ipoib.inc ?>\r
+              <?include ..\..\common\qlgc_vnic.inc ?>\r
+              <?include ..\..\common\srp.inc ?>\r
           </Directory>\r
 \r
           <?include ..\..\common\checked.inc ?>\r
           <?include ..\..\common\winverbs_OFED.inc ?>\r
 \r
-          <Directory Id="ipoibDir" Name="net">\r
-            <?include ..\..\common\ipoib.inc ?>\r
-          </Directory>\r
-\r
           <Component Id="WinsockDirect"\r
                      Guid="516A61B4-EBC2-41CE-8D18-81BADA4649D4">\r
             <File Id="installsp.exe" Compressed="yes" DiskId="1"\r
@@ -82,8 +79,6 @@
           </Component>\r
 \r
           <?include ..\..\common\dapl_rt.inc ?>\r
-          <?include ..\..\common\qlgc_vnic.inc ?>\r
-          <?include ..\..\common\srp.inc ?>\r
 \r
           <Component Id="cCertPush"\r
                      Guid="8B3AEC30-CFED-4d90-A48E-AD2C8C55FEFD">\r
          Display="expand" ConfigurableDirectory="INSTALLDIR"\r
          AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
       <ComponentRef Id="cMthcaDriver" />\r
-      <ComponentRef Id="cConnectXDriver" />\r
+      <ComponentRef Id="cMLX4BusDriver" />\r
+      <ComponentRef Id="cMLX4HcaDriver" />\r
     </Feature>\r
 \r
     <Feature Id="IBcore" Title="InfiniBand Core Modules" Level="1"\r
         Display="expand" ConfigurableDirectory="INSTALLDIR"\r
         AllowAdvertise="no" InstallDefault="local" Absent="disallow">\r
       <ComponentRef Id="cIBcore" />\r
-      <ComponentRef Id="cWinVerbsDrivers" />\r
+      <ComponentRef Id="cIOUdriver" />\r
       <ComponentRef Id="Docs" />\r
       <ComponentRef Id="Tools" />\r
       <ComponentRef Id="OpenSMservice" />\r
-      <ComponentRef Id="cQLVNIC_files" />\r
-      <ComponentRef Id="cSRP_files" />\r
       <ComponentRef Id="cCertPush" />\r
     </Feature>\r
 \r
         Description="Internet Protocols over InfiniBand" Display="expand"\r
         ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no"\r
         InstallDefault="local" Absent="allow">\r
-      <ComponentRef Id="IPoIB" />\r
+      <ComponentRef Id="cIPoIB" />\r
     </Feature>\r
 \r
     <Feature Id="fWSD" Title="WSD" Description="Winsock Direct Enabled"\r
index 4c072b7..880cdb5 100644 (file)
@@ -3,31 +3,48 @@
 #\r
 S=WOF\r
 P=$(S)_wlh_x86\r
+\r
+#WIX 2.0\r
 # L=..\..\WIX_tools\wix-2.0.5325.0-binaries\r
 L=..\..\WIX_tools\wix-2.0.5805.0-binaries\r
 \r
+# WIX 3.0 L=..\WIX_tools\wix-3.0.2925.0-binaries\r
+\r
 WIX_UI="$(L)\wixui.wixlib" -loc "$(L)\WixUI_en-us.wxl"\r
 \r
+DFX=DIFxApp.wixlib\r
+# Since makebin.bat knows correct WDK version, it copies the DIFX APP files\r
+# to the bin\ tree; eliminates Makefiles having to know about WDK versions.\r
+DFXP=..\bin\Misc\x86\r
+\r
 full: clean $(P).msi\r
 \r
 clean:\r
        @del /q $(S).wixobj 2>nul\r
        @del /q $(P).msi 2>nul\r
        @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 MySetup: $(P).msi\r
 \r
 license.rtf: ..\..\license.rtf\r
        @copy ..\..\license.rtf .\license.rtf\r
 \r
+# .dlls need to be in the current folder\r
+$(DFX) : $(DFXP)\$(DFX) $(DFXP)\DIFxApp.dll $(DFXP)\DIFxAppA.dll\r
+       @copy /B/Y $(DFXP)\DIFxApp.dll .\r
+       @copy /B/Y $(DFXP)\DIFxAppA.dll .\r
+       @copy /B/Y $(DFXP)\$(DFX) .\r
+\r
 $(S).wixobj: $(S).wxs\r
 \r
-$(P).msi: $(S).wixobj license.rtf\r
+$(P).msi: $(S).wixobj license.rtf $(DFX)\r
        @echo --\r
        @echo Building $(P).msi\r
-       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(WIX_UI)\r
+       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(DFX) $(WIX_UI)\r
        @del /q $(S).wixobj 2>nul\r
        @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 \r
 ###################\r
index 7dcceed..2dcbfed 100644 (file)
           <?include ..\..\common\Tools.inc ?>\r
           <?include ..\..\common\OpenSM_service.inc ?>\r
 \r
-          <Directory Id="IBcoreDir" Name="IBcore">\r
-            <?include ..\..\common\IBcore.inc ?>\r
-            <?include ..\..\common\mlnx_drivers.inc ?>\r
-            <?include ..\..\common\winverbs_drivers.inc ?>\r
+          <Directory Id="DriversDir" Name="Drivers">\r
+              <?include ..\..\common\IBcore.inc ?>\r
+              <?include ..\..\common\ipoib.inc ?>\r
+              <?include ..\..\common\qlgc_vnic.inc ?>\r
+              <?include ..\..\common\srp.inc ?>\r
           </Directory>\r
 \r
           <?include ..\..\common\checked.inc ?>\r
           <?include ..\..\common\winverbs_OFED.inc ?>\r
 \r
-          <Directory Id="ipoibDir" Name="net">\r
-            <?include ..\..\common\ipoib.inc ?>\r
-          </Directory>\r
-\r
           <Component Id="WinsockDirect"\r
                      Guid="516A61B4-EBC2-41CE-8D18-81BADA4649D4">\r
             <File Id="installsp.exe" Compressed="yes" DiskId="1"\r
@@ -78,8 +75,6 @@
           </Component>\r
 \r
           <?include ..\..\common\dapl_rt.inc ?>\r
-          <?include ..\..\common\qlgc_vnic.inc ?>\r
-          <?include ..\..\common\srp.inc ?>\r
 \r
         </Directory>\r
       </Directory>\r
          Display="expand" ConfigurableDirectory="INSTALLDIR"\r
          AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
       <ComponentRef Id="cMthcaDriver" />\r
-      <ComponentRef Id="cConnectXDriver" />\r
+      <ComponentRef Id="cMLX4BusDriver" />\r
+      <ComponentRef Id="cMLX4HcaDriver" />\r
     </Feature>\r
 \r
     <Feature Id="IBcore" Title="InfiniBand Core Modules" Level="1"\r
         Display="expand" ConfigurableDirectory="INSTALLDIR"\r
         AllowAdvertise="no" InstallDefault="local" Absent="disallow">\r
       <ComponentRef Id="cIBcore" />\r
-      <ComponentRef Id="cWinVerbsDrivers" />\r
+      <ComponentRef Id="cIOUdriver" />\r
       <ComponentRef Id="Docs" />\r
       <ComponentRef Id="Tools" />\r
       <ComponentRef Id="OpenSMservice" />\r
-      <ComponentRef Id="cQLVNIC_files" />\r
-      <ComponentRef Id="cSRP_files" />\r
     </Feature>\r
 \r
     <Feature Id="fWV" Title="WinVerbs"\r
         Description="Internet Protocols over InfiniBand" Display="expand"\r
         ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no"\r
         InstallDefault="local" Absent="allow">\r
-      <ComponentRef Id="IPoIB" />\r
+      <ComponentRef Id="cIPoIB" />\r
     </Feature>\r
 \r
     <Feature Id="fWSD" Title="WSD" Description="Winsock Direct Enabled"\r
index c69aba6..73b3409 100644 (file)
@@ -12,26 +12,39 @@ L=..\..\WIX_tools\wix-2.0.5805.0-binaries
 \r
 WIX_UI="$(L)\wixui.wixlib" -loc "$(L)\WixUI_en-us.wxl"\r
 \r
+DFX=DIFxApp.wixlib\r
+# Since makebin.bat knows correct WDK version, it copies the DIFX APP files\r
+# to the bin\ tree; eliminates Makefiles having to know about WDK versions.\r
+DFXP=..\bin\Misc\ia64\r
+\r
 full: clean $(P).msi\r
 \r
 clean:\r
-       @del /q $(P).msi 2>nul\r
        @del /q $(S).wixobj 2>nul\r
+       @del /q $(P).msi 2>nul\r
        @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 MySetup: $(P).msi\r
 \r
 license.rtf: ..\..\license.rtf\r
        @copy ..\..\license.rtf .\license.rtf\r
 \r
+# .dlls need to be in the current folder\r
+$(DFX) : $(DFXP)\$(DFX) $(DFXP)\DIFxApp.dll $(DFXP)\DIFxAppA.dll\r
+       @copy /B/Y $(DFXP)\DIFxApp.dll .\r
+       @copy /B/Y $(DFXP)\DIFxAppA.dll .\r
+       @copy /B/Y $(DFXP)\$(DFX) .\r
+\r
 $(S).wixobj: $(S).wxs\r
 \r
-$(P).msi: $(S).wixobj license.rtf\r
+$(P).msi: $(S).wixobj license.rtf $(DFX)\r
        @echo --\r
        @echo Building $(P).msi\r
-       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(WIX_UI)\r
+       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(DFX) $(WIX_UI)\r
        @del /q $(S).wixobj 2>nul\r
        @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 \r
 ###################\r
index 295a236..291a6ef 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>\r
 <!--\r
-   WinOF for IA64/IPF Itanium on Windows Server 2003\r
+   WinOF (Windows OpenFabrics InfiniBand) IA64/IPF Itanium Windows Server 2003\r
 -->\r
 \r
 <?define ARCH=ia64 ?>\r
           <?include ..\..\common\Tools.inc ?>\r
           <?include ..\..\common\OpenSM_service.inc ?>\r
 \r
-          <Directory Id="IBcoreDir" Name="IBcore">\r
-            <?include ..\..\common\IBcore.inc ?>\r
-            <?include ..\..\common\mlnx_drivers.inc ?>\r
-            <?include ..\..\common\winverbs_drivers.inc ?>\r
+          <Directory Id="DriversDir" Name="Drivers">\r
+              <?include ..\..\common\IBcore.inc ?>\r
+              <?include ..\..\common\ipoib.inc ?>\r
+              <?include ..\..\common\qlgc_vnic.inc ?>\r
+              <?include ..\..\common\srp.inc ?>\r
           </Directory>\r
 \r
           <?include ..\..\common\checked.inc ?>\r
           <?include ..\..\common\winverbs_OFED.inc ?>\r
 \r
-          <Directory Id="ipoibDir" Name="net">\r
-            <?include ..\..\common\ipoib.inc ?>\r
-          </Directory>\r
-\r
           <Component Id="WinsockDirect"\r
                      Guid="516A61B4-EBC2-41CE-8D18-81BADA4649D4">\r
             <File Id="installsp.exe" Compressed="yes" DiskId="1"\r
@@ -81,8 +78,6 @@
           </Component>\r
 -->\r
           <?include ..\..\common\dapl_rt.inc ?>\r
-          <?include ..\..\common\qlgc_vnic.inc ?>\r
-          <?include ..\..\common\srp.inc ?>\r
 \r
         </Directory>\r
       </Directory>\r
     <Feature Id="fMxDrivers" Title="Mellanox HCA Drivers" Level="1"\r
          Description="Mellanox InfiniBand Host Channel Adapter Drivers"\r
          Display="expand" ConfigurableDirectory="INSTALLDIR"\r
-         AllowAdvertise='no' InstallDefault='local' Absent='disallow'>\r
-\r
-      <Feature Id="hca_mthca" Title="InfiniHost" Level="1"\r
-           Description="InfiniHost series - all except ConnectX"\r
-           Display="expand" ConfigurableDirectory="INSTALLDIR"\r
-           AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
-        <ComponentRef Id="cMthcaDriver" />\r
-      </Feature>\r
-\r
-      <Feature Id="hca_connectX" Title="ConnectX" Level="5"\r
-           Description="ConnectX only - mlx4"\r
-           Display="expand" ConfigurableDirectory="INSTALLDIR"\r
-           AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
-        <ComponentRef Id="cConnectXDriver" />\r
-      </Feature>\r
+         AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
+      <ComponentRef Id="cMthcaDriver" />\r
+      <ComponentRef Id="cMLX4BusDriver" />\r
+      <ComponentRef Id="cMLX4HcaDriver" />\r
     </Feature>\r
 \r
     <Feature Id="IBcore" Title="InfiniBand Core Modules" Level="1"\r
         Display="expand" ConfigurableDirectory="INSTALLDIR"\r
         AllowAdvertise="no" InstallDefault="local" Absent="disallow">\r
       <ComponentRef Id="cIBcore" />\r
-      <ComponentRef Id="cWinVerbsDrivers" />\r
+      <ComponentRef Id="cIOUdriver" />\r
       <ComponentRef Id="Docs" />\r
       <ComponentRef Id="Tools" />\r
       <ComponentRef Id="OpenSMservice" />\r
-      <ComponentRef Id="cQLVNIC_files" />\r
-      <ComponentRef Id="cSRP_files" />\r
     </Feature>\r
 \r
     <Feature Id="fWV" Title="WinVerbs"\r
         Description="Internet Protocols over InfiniBand" Display="expand"\r
         ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no"\r
         InstallDefault="local" Absent="allow">\r
-      <ComponentRef Id="IPoIB" />\r
+      <ComponentRef Id="cIPoIB" />\r
     </Feature>\r
 \r
     <Feature Id="fWSD" Title="WSD" Description="Winsock Direct Enabled"\r
index a711a3c..97e9798 100644 (file)
@@ -12,26 +12,39 @@ L=..\..\WIX_tools\wix-2.0.5805.0-binaries
 \r
 WIX_UI="$(L)\wixui.wixlib" -loc "$(L)\WixUI_en-us.wxl"\r
 \r
+DFX=DIFxApp.wixlib\r
+# Since makebin.bat knows correct WDK version, it copies the DIFX APP files\r
+# to the bin\ tree; eliminates Makefiles having to know about WDK versions.\r
+DFXP=..\bin\Misc\amd64\r
+\r
 full: clean $(P).msi\r
 \r
 clean:\r
-  @del /q $(P).msi 2>nul\r
-  @del /q $(S).wixobj 2>nul\r
-  @del /q license.rtf 2>nul\r
+       @del /q $(S).wixobj 2>nul\r
+       @del /q $(P).msi 2>nul\r
+       @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 MySetup: $(P).msi\r
 \r
 license.rtf: ..\..\license.rtf\r
        @copy ..\..\license.rtf .\license.rtf\r
 \r
+# .dlls need to be in the current folder\r
+$(DFX) : $(DFXP)\$(DFX) $(DFXP)\DIFxApp.dll $(DFXP)\DIFxAppA.dll\r
+       @copy /B/Y $(DFXP)\DIFxApp.dll .\r
+       @copy /B/Y $(DFXP)\DIFxAppA.dll .\r
+       @copy /B/Y $(DFXP)\$(DFX) .\r
+\r
 $(S).wixobj: $(S).wxs\r
 \r
-$(P).msi: $(S).wixobj license.rtf\r
+$(P).msi: $(S).wixobj license.rtf $(DFX)\r
        @echo --\r
        @echo Building $(P).msi\r
-       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(WIX_UI)\r
+       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(DFX) $(WIX_UI)\r
        @del /q $(S).wixobj 2>nul\r
        @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 \r
 ###################\r
index 2d39ee4..ac67466 100644 (file)
           <?include ..\..\common\Tools.inc ?>\r
           <?include ..\..\common\OpenSM_service.inc ?>\r
 \r
-          <Directory Id="IBcoreDir" Name="IBcore">\r
-            <?include ..\..\common\IBcore.inc ?>\r
-            <?include ..\..\common\mlnx_drivers.inc ?>\r
-            <?include ..\..\common\winverbs_drivers.inc ?>\r
+          <Directory Id="DriversDir" Name="Drivers">\r
+              <?include ..\..\common\IBcore.inc ?>\r
+              <?include ..\..\common\ipoib.inc ?>\r
+              <?include ..\..\common\qlgc_vnic.inc ?>\r
+              <?include ..\..\common\srp.inc ?>\r
           </Directory>\r
 \r
           <?include ..\..\common\checked.inc ?>\r
           <?include ..\..\common\winverbs_OFED.inc ?>\r
 \r
-          <Directory Id="ipoibDir" Name="net">\r
-            <?include ..\..\common\ipoib.inc ?>\r
-          </Directory>\r
-\r
           <Component Id="WinsockDirect"\r
                      Guid="516A61B4-EBC2-41CE-8D18-81BADA4649D4">\r
             <File Id="installsp.exe" Compressed="yes" DiskId="1"\r
@@ -81,8 +78,6 @@
           </Component>\r
 \r
           <?include ..\..\common\dapl_rt.inc ?>\r
-          <?include ..\..\common\qlgc_vnic.inc ?>\r
-          <?include ..\..\common\srp.inc ?>\r
 \r
         </Directory>\r
       </Directory>\r
     <Feature Id="fMxDrivers" Title="Mellanox HCA Drivers" Level="1"\r
          Description="Mellanox InfiniBand Host Channel Adapter Drivers"\r
          Display="expand" ConfigurableDirectory="INSTALLDIR"\r
-         AllowAdvertise='no' InstallDefault='local' Absent='disallow'>\r
-\r
-        <ComponentRef Id="cMthcaDriver" />\r
-        <ComponentRef Id="cConnectXDriver" />\r
-\r
-      <Feature Id="hca_mthca" Title="InfiniHost" Level="1"\r
-           Description="InfiniHost series - all except ConnectX"\r
-           Display="expand" ConfigurableDirectory="INSTALLDIR"\r
-           AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
-      </Feature>\r
-\r
-      <Feature Id="hca_connectX" Title="ConnectX" Level="5"\r
-           Description="ConnectX only - mlx4"\r
-           Display="expand" ConfigurableDirectory="INSTALLDIR"\r
-           AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
-      </Feature>\r
+         AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
+      <ComponentRef Id="cMthcaDriver" />\r
+      <ComponentRef Id="cMLX4BusDriver" />\r
+      <ComponentRef Id="cMLX4HcaDriver" />\r
     </Feature>\r
 \r
     <Feature Id="IBcore" Title="InfiniBand Core Modules" Level="1"\r
         Display="expand" ConfigurableDirectory="INSTALLDIR"\r
         AllowAdvertise="no" InstallDefault="local" Absent="disallow">\r
       <ComponentRef Id="cIBcore" />\r
-      <ComponentRef Id="cWinVerbsDrivers" />\r
+      <ComponentRef Id="cIOUdriver" />\r
       <ComponentRef Id="Docs" />\r
       <ComponentRef Id="Tools" />\r
       <ComponentRef Id="OpenSMservice" />\r
-      <ComponentRef Id="cQLVNIC_files" />\r
-      <ComponentRef Id="cSRP_files" />\r
     </Feature>\r
 \r
     <Feature Id="fWV" Title="WinVerbs"\r
         Description="Internet Protocols over InfiniBand" Display="expand"\r
         ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no"\r
         InstallDefault="local" Absent="allow">\r
-      <ComponentRef Id="IPoIB" />\r
+      <ComponentRef Id="cIPoIB" />\r
     </Feature>\r
 \r
     <Feature Id="fWSD" Title="WSD" Description="Winsock Direct Enabled"\r
index 35c23bc..5a09a4d 100644 (file)
@@ -3,6 +3,8 @@
 #\r
 S=WOF\r
 P=$(S)_wnet_x86\r
+\r
+#WIX 2.0\r
 # L=..\..\WIX_tools\wix-2.0.5325.0-binaries\r
 L=..\..\WIX_tools\wix-2.0.5805.0-binaries\r
 \r
@@ -10,26 +12,39 @@ L=..\..\WIX_tools\wix-2.0.5805.0-binaries
 \r
 WIX_UI="$(L)\wixui.wixlib" -loc "$(L)\WixUI_en-us.wxl"\r
 \r
+DFX=DIFxApp.wixlib\r
+# Since makebin.bat knows correct WDK version, it copies the DIFX APP files\r
+# to the bin\ tree; eliminates Makefiles having to know about WDK versions.\r
+DFXP=..\bin\Misc\x86\r
+\r
 full: clean $(P).msi\r
 \r
 clean:\r
        @del /q $(S).wixobj 2>nul\r
        @del /q $(P).msi 2>nul\r
        @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 MySetup: $(P).msi\r
 \r
 license.rtf: ..\..\license.rtf\r
        @copy ..\..\license.rtf .\license.rtf\r
 \r
+# .dlls need to be in the current folder\r
+$(DFX) : $(DFXP)\$(DFX) $(DFXP)\DIFxApp.dll $(DFXP)\DIFxAppA.dll\r
+       @copy /B/Y $(DFXP)\DIFxApp.dll .\r
+       @copy /B/Y $(DFXP)\DIFxAppA.dll .\r
+       @copy /B/Y $(DFXP)\$(DFX) .\r
+\r
 $(S).wixobj: $(S).wxs\r
 \r
-$(P).msi: $(S).wixobj license.rtf\r
+$(P).msi: $(S).wixobj license.rtf $(DFX)\r
        @echo --\r
        @echo Building $(P).msi\r
-       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(WIX_UI)\r
+       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(DFX) $(WIX_UI)\r
        @del /q $(S).wixobj 2>nul\r
        @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 \r
 ###################\r
index eb64183..f05d959 100644 (file)
           <?include ..\..\common\Tools.inc ?>\r
           <?include ..\..\common\OpenSM_service.inc ?>\r
 \r
-          <Directory Id="IBcoreDir" Name="IBcore">\r
-            <?include ..\..\common\IBcore.inc ?>\r
-            <?include ..\..\common\mlnx_drivers.inc ?>\r
-            <?include ..\..\common\winverbs_drivers.inc ?>\r
+          <Directory Id="DriversDir" Name="Drivers">\r
+              <?include ..\..\common\IBcore.inc ?>\r
+              <?include ..\..\common\ipoib.inc ?>\r
+              <?include ..\..\common\qlgc_vnic.inc ?>\r
+              <?include ..\..\common\srp.inc ?>\r
           </Directory>\r
 \r
           <?include ..\..\common\checked.inc ?>\r
           <?include ..\..\common\winverbs_OFED.inc ?>\r
 \r
-          <Directory Id="ipoibDir" Name="net">\r
-            <?include ..\..\common\ipoib.inc ?>\r
-          </Directory>\r
-\r
           <Component Id="WinsockDirect"\r
                      Guid="516A61B4-EBC2-41CE-8D18-81BADA4649D4">\r
             <File Id="installsp.exe" Compressed="yes" DiskId="1"\r
@@ -75,8 +72,6 @@
           </Component>\r
 \r
           <?include ..\..\common\dapl_rt.inc ?>\r
-          <?include ..\..\common\qlgc_vnic.inc ?>\r
-          <?include ..\..\common\srp.inc ?>\r
 \r
         </Directory>\r
       </Directory>\r
     <Feature Id="fMxDrivers" Title="Mellanox HCA Drivers" Level="1"\r
          Description="Mellanox InfiniBand Host Channel Adapter Drivers"\r
          Display="expand" ConfigurableDirectory="INSTALLDIR"\r
-         AllowAdvertise='no' InstallDefault='local' Absent='disallow'>\r
-\r
-        <ComponentRef Id="cMthcaDriver" />\r
-        <ComponentRef Id="cConnectXDriver" />\r
-\r
-      <Feature Id="hca_mthca" Title="InfiniHost" Level="1"\r
-           Description="InfiniHost series - all except ConnectX"\r
-           Display="expand" ConfigurableDirectory="INSTALLDIR"\r
-           AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
-      </Feature>\r
-\r
-      <Feature Id="hca_connectX" Title="ConnectX" Level="5"\r
-           Description="ConnectX only - mlx4"\r
-           Display="expand" ConfigurableDirectory="INSTALLDIR"\r
-           AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
-      </Feature>\r
+         AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
+      <ComponentRef Id="cMthcaDriver" />\r
+      <ComponentRef Id="cMLX4BusDriver" />\r
+      <ComponentRef Id="cMLX4HcaDriver" />\r
     </Feature>\r
 \r
     <Feature Id="IBcore" Title="InfiniBand Core Modules" Level="1"\r
         Display="expand" ConfigurableDirectory="INSTALLDIR"\r
         AllowAdvertise="no" InstallDefault="local" Absent="disallow">\r
       <ComponentRef Id="cIBcore" />\r
-      <ComponentRef Id="cWinVerbsDrivers" />\r
+      <ComponentRef Id="cIOUdriver" />\r
       <ComponentRef Id="Docs" />\r
       <ComponentRef Id="Tools" />\r
       <ComponentRef Id="OpenSMservice" />\r
-      <ComponentRef Id="cQLVNIC_files" />\r
-      <ComponentRef Id="cSRP_files" />\r
     </Feature>\r
 \r
     <Feature Id="fWV" Title="WinVerbs"\r
         Description="Internet Protocols over InfiniBand" Display="expand"\r
         ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no"\r
         InstallDefault="local" Absent="allow">\r
-        <ComponentRef Id="IPoIB" />\r
+      <ComponentRef Id="cIPoIB" />\r
     </Feature>\r
 \r
     <Feature Id="fWSD" Title="WSD" Description="Winsock Direct Enabled"\r
         Description="Open Subnet Management started as a local Windows Service"\r
         Display="expand" ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no"\r
         InstallDefault="local" Absent="allow">\r
-        <ComponentRef Id="OpenSM_Service_enabled" />\r
+      <ComponentRef Id="OpenSM_Service_enabled" />\r
     </Feature>\r
 \r
     <Feature Id="fDAPL" Title="DAPL" Description="DAT+DAPL over InfiniBand"\r
index 328a234..67bff5a 100644 (file)
@@ -3,6 +3,8 @@
 #\r
 S=WOF\r
 P=$(S)_wxp_x86\r
+\r
+#WIX 2.0\r
 # L=..\..\WIX_tools\wix-2.0.5325.0-binaries\r
 L=..\..\WIX_tools\wix-2.0.5805.0-binaries\r
 \r
@@ -10,26 +12,39 @@ L=..\..\WIX_tools\wix-2.0.5805.0-binaries
 \r
 WIX_UI="$(L)\wixui.wixlib" -loc "$(L)\WixUI_en-us.wxl"\r
 \r
+DFX=DIFxApp.wixlib\r
+# Since makebin.bat knows correct WDK version, it copies the DIFX APP files\r
+# to the bin\ tree; eliminates Makefiles having to know about WDK versions.\r
+DFXP=..\bin\Misc\x86\r
+\r
 full: clean $(P).msi\r
 \r
 clean:\r
        @del /q $(S).wixobj 2>nul\r
        @del /q $(P).msi 2>nul\r
        @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 MySetup: $(P).msi\r
 \r
 license.rtf: ..\..\license.rtf\r
        @copy ..\..\license.rtf .\license.rtf\r
 \r
+# .dlls need to be in the current folder\r
+$(DFX) : $(DFXP)\$(DFX) $(DFXP)\DIFxApp.dll $(DFXP)\DIFxAppA.dll\r
+       @copy /B/Y $(DFXP)\DIFxApp.dll .\r
+       @copy /B/Y $(DFXP)\DIFxAppA.dll .\r
+       @copy /B/Y $(DFXP)\$(DFX) .\r
+\r
 $(S).wixobj: $(S).wxs\r
 \r
-$(P).msi: $(S).wixobj license.rtf\r
+$(P).msi: $(S).wixobj license.rtf $(DFX)\r
        @echo --\r
        @echo Building $(P).msi\r
-       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(WIX_UI)\r
+       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(DFX) $(WIX_UI)\r
        @del /q $(S).wixobj 2>nul\r
        @del /q license.rtf 2>nul\r
+       @del /q/f DIFxA*.* 2>nul\r
 \r
 \r
 ###################\r
index 2d6d273..05b2ef3 100644 (file)
           <?include ..\..\common\Tools.inc ?>\r
           <?include ..\..\common\OpenSM_service.inc ?>\r
 \r
-          <Directory Id="IBcoreDir" Name="IBcore">\r
-            <?include ..\..\common\IBcore.inc ?>\r
-            <?include ..\..\common\mlnx_drivers.inc ?>\r
-            <?include ..\..\common\winverbs_drivers.inc ?>\r
+          <Directory Id="DriversDir" Name="Drivers">\r
+              <?include ..\..\common\IBcore.inc ?>\r
+              <?include ..\..\common\ipoib.inc ?>\r
+              <?include ..\..\common\qlgc_vnic.inc ?>\r
+<!-- Skip SRP on XP/32\r
+              <?include ..\..\common\srp.inc ?>\r
+-->\r
           </Directory>\r
 \r
           <?include ..\..\common\checked.inc ?>\r
           <?include ..\..\common\winverbs_OFED.inc ?>\r
 \r
-          <Directory Id="ipoibDir" Name="net">\r
-            <?include ..\..\common\ipoib.inc ?>\r
-          </Directory>\r
-\r
 <!-- XP does not support WSD\r
             <Component Id="WinsockDirect"\r
                        Guid="516A61B4-EBC2-41CE-8D18-81BADA4649D4">\r
                        Guid="F3BA9E15-E532-4b8c-BB0C-E8C1CC0EEF3F">\r
             </Component>\r
 \r
-            <?include ..\..\common\dapl_rt.inc ?>\r
-            <?include ..\..\common\qlgc_vnic.inc ?>\r
+          <?include ..\..\common\dapl_rt.inc ?>\r
 \r
-<!-- Skip SRP on XP/32\r
-            <?include ..\..\common\srp.inc ?>\r
--->\r
         </Directory>\r
       </Directory>\r
 \r
     <Feature Id="fMxDrivers" Title="Mellanox HCA Drivers" Level="1"\r
          Description="Mellanox InfiniBand Host Channel Adapter Drivers"\r
          Display="expand" ConfigurableDirectory="INSTALLDIR"\r
-         AllowAdvertise='no' InstallDefault='local' Absent='disallow'>\r
+         AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
       <ComponentRef Id="cMthcaDriver" />\r
-      <ComponentRef Id="cConnectXDriver" />\r
-\r
-      <Feature Id="hca_mthca" Title="InfiniHost" Level="1"\r
-           Description="InfiniHost series - all except ConnectX"\r
-           Display="expand" ConfigurableDirectory="INSTALLDIR"\r
-           AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
-      </Feature>\r
-\r
-      <Feature Id="hca_connectX" Title="ConnectX" Level="5"\r
-           Description="ConnectX only - mlx4"\r
-           Display="expand" ConfigurableDirectory="INSTALLDIR"\r
-           AllowAdvertise='no' InstallDefault='local' Absent='allow'>\r
-      </Feature>\r
+      <ComponentRef Id="cMLX4BusDriver" />\r
+      <ComponentRef Id="cMLX4HcaDriver" />\r
     </Feature>\r
 \r
     <Feature Id="IBcore" Title="InfiniBand Core Modules" Level="1"\r
         Display="expand" ConfigurableDirectory="INSTALLDIR"\r
         AllowAdvertise="no" InstallDefault="local" Absent="disallow">\r
       <ComponentRef Id="cIBcore" />\r
-      <ComponentRef Id="cWinVerbsDrivers" />\r
+      <ComponentRef Id="cIOUdriver" />\r
       <ComponentRef Id="Docs" />\r
       <ComponentRef Id="Tools" />\r
       <ComponentRef Id="OpenSMservice" />\r
-      <ComponentRef Id="cQLVNIC_files" />\r
     </Feature>\r
 \r
     <Feature Id="fWV" Title="WinVerbs"\r
         Description="Internet Protocols over InfiniBand" Display="expand"\r
         ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no"\r
         InstallDefault="local" Absent="allow">\r
-        <ComponentRef Id="IPoIB" />\r
+      <ComponentRef Id="cIPoIB" />\r
     </Feature>\r
 \r
 <!-- No WSD on XP\r
         Description="Open Subnet Management started as a local Windows Service"\r
         Display="expand" ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no"\r
         InstallDefault="local" Absent="allow">\r
-        <ComponentRef Id="OpenSM_Service_enabled" />\r
+      <ComponentRef Id="OpenSM_Service_enabled" />\r
     </Feature>\r
 \r
     <Feature Id="fDAPL" Title="DAPL" Description="DAT+DAPL over InfiniBand"\r
         Display="collapse" Level="1" ConfigurableDirectory="INSTALLDIR"\r
         AllowAdvertise="no" InstallDefault="local" Absent="allow">\r
-        <Condition Level="201"> IPOIB_EXISTS </Condition>\r
+      <Condition Level="201"> IPOIB_EXISTS </Condition>\r
 \r
       <Feature Id="fDatConf" Title="DAT-DAPL Config File"\r
          Description="DAPL runtime configuration file; installed if %SystemDrive%\DAT\dat.conf does not exist."\r
         <Condition Level="0">\r
           <![CDATA[VersionNT=501 AND (Not Intel64 AND Not Msix64)]]>\r
         </Condition>\r
-        <ComponentRef Id="cSRP_driver" />\r
+        <ComponentRef Id="cSRP_driver_installed" />\r
     </Feature>\r
 -->\r
 \r
index 241a27f..59336dd 100644 (file)
@@ -36,7 +36,7 @@ goto usage
 \r
 :os_ok\r
 \r
-rem if not "%4"=="" set DBG=TRUE\r
+rem Enable tracing to indicate phase for potiential debug.\r
 set DBG=TRUE\r
 \r
 set OSE=%3\r
@@ -53,6 +53,8 @@ if not exist "%_DDK%" (
 )\r
 \r
 set WdfCoInstaller=%_DDK%\redist\wdf\r
+set DIFXP=%_DDK%\redist\DIFx\DIFxAPP\English\WixLib\r
+set DPINST=%_DDK%\redist\DIFx\DPInst\EngMui\r
 \r
 if /I "%5"=="" (\r
        set CoInstallVer=01007\r
@@ -722,14 +724,38 @@ if exist %1\inc (
     popd\r
 )\r
 \r
-rem Docs & SDK items\r
-if "%DBG%" == "TRUE" echo DBG: Docs and SDK files\r
-if NOT exist %2\Misc (\r
-    mkdir %2\Misc\r
-)\r
+rem WDK/WIX, Docs & IB SDK items\r
+if "%DBG%" == "TRUE" echo DBG: WDK, WIx, Docs and SDK files\r
+\r
+if exist %2\Misc  rmdir /Q/S %2\Misc\r
+mkdir %2\Misc\r
+\r
 copy /Y/A %1\Docs\Manual.htm %2\Misc\Manual.htm\r
 copy /Y/A %1\tests\cmtest\user\cmtest_main.c %2\Misc\cmtest.c\r
 \r
+rem copy 'Driver Install Frameworks for Applications' files so WIX makefiles\r
+rem are not required to know the current WDK version/path.\r
+\r
+for %%i in ( amd64 ia64 x86 ) do (\r
+       mkdir %2\Misc\%%i\r
+       if ERRORLEVEL 1 (\r
+               echo ERR on mkdir %2\Misc\DIFxAPP\%%i\r
+               exit /B 1\r
+       )\r
+       for %%j in ( DIFxApp.dll DIFxAppA.dll DIFxApp.wixlib ) do (\r
+               copy /B/Y %DIFXP%\%%i\%%j  %2\Misc\%%i\%%j\r
+               if ERRORLEVEL 1 (\r
+                       echo ERR on copy /B/Y %DIFXP%\%%i\%%j  %2\Misc\%%i\%%j\r
+                       exit /B 1\r
+               )\r
+       )\r
+       copy /B/Y %DPINST%\%%i\DPInst.exe  %2\Misc\%%i\DPInst.exe\r
+       if ERRORLEVEL 1 (\r
+               echo ERR on copy /B/Y %DPINST%\%%i\DPInst.exe  %2\Misc\%%i\DPInst.exe\r
+               exit /B 1\r
+       )\r
+)\r
+\r
 rem setup Checked Drivers & Symbols for signing and installation.\r
 if "%DBG%" == "TRUE" echo %3 Checked Drivers+symbols\r
 \r