Currently the WinOF installer is based on the WIX (Windows Installer XML) 2.0 
specification.
WIX developers are at version 3.5, with a stable version released at WIX 
version 3.0.
Before WIX 2.0 is deprecated, I'd like to move the WinOF installer forward to 
WIX 3.0 to take advantage of new functionality.
The WIX 3.0 src base is more streamlined (easier to use, less to code) and 
provides additional functionality. More CustomActions can be replaced with WIX 
code thus further simplifying the WinOF installer implementation.

Overall the WIX 3.0 environment is more flexible in custom install screen 
layouts.

OFA license file no longer has to reside in the folder where the WOF.wxs file 
resides; file copy/delete operations are removed.

Compressed attribute becomes a Product attribute instead of a file attribute; 
less to specify for each file.

OpenSM service is started via WIX code instead of a CustomAction calling 
'sc.exe'.


If anyone has serious concerns please contact me ASAP.
Commit timeframe is Friday 11-20-09.


The WIX 3.0 installers have been tested (installed, verified, uninstalled and 
checked for leftovers) on x86, x64 and ia64 architectures for all Windows 
variants: XP32, XP64, Server 2003, Server 2008, Server 20008 R2, Windows 7 with 
no observed problems.

Thanks,

Stan.

More Details:

The bulk of the WIX src includes WIX\common\*.inc diffs consist of the removal 
of NAME="xxx" as WIX 3.0 will automatically generate the 8.3 short name from 
the LONGNAME="xxx" argument.

WIX source file mods are of the nature

--- a/WinOF/WIX/wlh/x64/wof.wxs Mon Nov 16 13:06:38 2009
+++ b/WinOF/WIX/wlh/x64/wof.wxs Wed Oct 28 09:37:44 2009
@@ -8,7 +8,8 @@
 <?define OS=wlh ?>
 <?include ..\..\common\WinOF_cfg.inc ?>

-<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi";>
+<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'
+     xmlns:DifxApp='http://schemas.microsoft.com/wix/DifxAppExtension' >
   <Product
     Name="Windows OpenFabrics InfiniBand $(var.WOFREL) $(var.ARCHP)"
     Version="$(var.WOFRELNUM)"
@@ -17,13 +18,13 @@
     Language="1033" Codepage="1252"
     Manufacturer="Open Fabrics Alliance Windows">

-    <Package Id="????????-????-????-????-????????????"
+    <Package Id="*"
      Keywords="Installer, InfiniBand, WinOF, OpenFabrics"
      InstallPrivileges='elevated'
      Description="WinOF Installer"
      Comments="Windows OpenFabrics Alliance InfiniBand stack"
      Manufacturer="OpenFabrics Alliance" InstallerVersion="200"
-     Platforms="$(var.ARCHP)" Languages="1033"
+     Platform="$(var.ARCHP)" Languages="1033"
      Compressed="yes" SummaryCodepage="1252" />

     <Condition Message="Administrator required to install [ProductName].">
@@ -46,11 +47,9 @@
     <?include ..\..\common\requirements.inc ?>

     <Directory Id="TARGETDIR" Name="SourceDir">
-      <Directory Id="ProgramMenuFolder" Name="PMenu" LongName="Programs">
-        <Directory Id="ProgramMenuDir" LongName="Windows OpenFabrics"
-                   Name="WinOF" />
-      </Directory>
-      <Directory Id="DesktopFolder" Name="Desktop" />
+
+      <?include ..\..\common\PgmMenuShortcuts.inc ?>
+
       <Directory Id="ProgramFiles64Folder" Name="PFiles">
         <Directory Id="INSTALLDIR" Name="WinOF">

@@ -70,12 +69,12 @@

           <Component Id="WinsockDirect"
                      Guid="516A61B4-EBC2-41CE-8D18-81BADA4649D4">
-            <File Id="installsp.exe" Compressed="yes" DiskId="1"
-                     LongName="installsp.exe" Name="INSTALL.EXE"
-                     Source="..\bin\net\$(var.ARCH)\installsp.exe" />
+            <File Id="installsp.exe" DiskId="1"
+                  Name="installsp.exe"
+                  Source="..\bin\net\$(var.ARCH)\installsp.exe" />
           </Component>

-          <Component Id="cNetworkDirect"
+          <Component Id="cNetworkDirect" KeyPath="yes"
                      Guid="F3BA9E15-E532-4b8c-BB0C-E8C1CC0EEF3F">
           </Component>

@@ -86,7 +85,7 @@
         </Directory>
       </Directory>

-      <Directory Id="WindowsVolume">
+      <Directory Id="WINROOT" Name="WinRoot">

         <!-- copy DAT header files to
            %SystemDrive%\DAT\v1-1\DAT
@@ -106,10 +105,6 @@
     </Directory> <!-- End TARGETDIR -->

     <?include ..\..\common\arp.inc ?>
-
-    <!--
-       Features - Level=1 == Typical, no WSD on XP or SRP on 32-bit XP
-     -->

     <?include ..\..\common\std_features.inc ?>


Wix\Common\Makefile.inc mods:

--- C:/Documents and Settings/scsmith/Local 
Settings/Temp/Makefile.inc-revBASE.svn000.tmp.inc   Mon Nov 16 15:01:18 2009
+++ C:/Documents and Settings/scsmith/My 
Documents/openIB-windows/SVN/gen1/trunk/WinOF/WIX/common/Makefile.inc  Mon Nov 
16 10:34:37 2009
@@ -6,52 +6,46 @@
 # S == WIX src & obj filename: .wxs & .wixobj
 # A == arch {x86,ia64,x64}
 # P == Installer (.msi) filename
-# optional: DFXP == Path to arch specific DifxApp files setup in makebin.bat
-
-#WIX 2.0
-L=..\..\WIX_tools\wix-2.0.5805.0-binaries
-
-WIX_UI="$(L)\wixui.wixlib" -loc "$(L)\WixUI_en-us.wxl"
-
-DFX=DIFxApp.wixlib
-
-# Since makebin.bat knows correct WDK version, it copies the DIFX APP files
-# to the bin\ tree; eliminates Makefiles having to know about WDK versions.
+# optional: DFXP == Path to DifxApp files setup in makebin.bat

 !ifndef DFXP
 DFXP=..\bin\Misc\$(A)
 !endif

+# WIX 3.0
+L=..\..\WIX_tools\wix3.0.5419.0-binaries
+
+DFX=difxapp_$(A).wixlib
+
+# Since makebin.bat knows correct WDK version, makebin copies the DIFX APP 
files
+# to the bin\Misc\arch tree; this eliminates Makefiles having to know about
+# WDK versions.  see DFXP=..\bin\Misc\arch

 full: clean $(P).msi

 clean:
        @del /q $(S).wixobj 2>nul
+       @del /q $(P).wixpdb 2>nul
        @del /q $(P).msi 2>nul
-       @del /q license.rtf 2>nul
        @del /q/f DIFxA*.* 2>nul

 MySetup: $(P).msi

-license.rtf: ..\..\license.rtf
-       @copy ..\..\license.rtf .\license.rtf
-
 # .dlls need to be in the current folder
-
-$(DFX) : $(DFXP)\$(DFX) $(DFXP)\DIFxApp.dll $(DFXP)\DIFxAppA.dll
+$(DFX) : $(L)\$(DFX) $(DFXP)\DIFxApp.dll $(DFXP)\DIFxAppA.dll
        @copy /B/Y $(DFXP)\DIFxApp.dll .
        @copy /B/Y $(DFXP)\DIFxAppA.dll .
-       @copy /B/Y $(DFXP)\$(DFX) .
+       @copy /B/Y $(L)\$(DFX) .

 $(S).wixobj: $(S).wxs

-$(P).msi: $(S).wixobj license.rtf $(DFX)
+$(P).msi: $(S).wixobj $(DFX)
        @echo --
        @echo Building $(P).msi
-       $(L)\light.exe /nologo -out $(P).msi $(S).wixobj $(DFX) $(WIX_UI)
+       $(L)\light.exe -nologo -ext WixUiExtension -ext WixDifxAppExtension 
-out $(P).msi $(S).wixobj $(DFX)
        @del /q $(S).wixobj 2>nul
-       @del /q license.rtf 2>nul
        @del /q/f DIFxA*.* 2>nul
+       @del /q $(P).wixpdb 2>nul


 ###################
@@ -60,6 +54,5 @@
 .SUFFIXES: .wxs .wixobj

 .wxs.wixobj::
-       @$(L)\candle.exe -nologo -trace -v $<
-
+       @$(L)\candle.exe -nologo -arch $(A) -ext WixDifxAppExtension  -trace -v 
$<



_______________________________________________
ofw mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw

Reply via email to