[MLton-commit] r6906

Wesley Terpstra wesley at mlton.org
Fri Oct 3 16:33:41 PDT 2008


* Upgrade the MLton package scripts to work with WiX version 3.0.
  * Change the schema of output xml
  * There is no longer a need to hack short filenames, WiX does it right
  * The mondo install GUI is now in an extension, not a wixlib
* Fix files2wix's handling of tar files containing ./prefixed files
* Quell WiX warnings about long identifiers (take the 60 character tail)
* Include updated MinGW packages
* Include gdb
* Simplify the makefile by making all packages share the same rule


----------------------------------------------------------------------

U   mlton/trunk/package/mingw/Makefile
U   mlton/trunk/package/mingw/dirs2wix-filesys.sml
U   mlton/trunk/package/mingw/files2wix-component.sml
U   mlton/trunk/package/mingw/mlton.wxs

----------------------------------------------------------------------

Modified: mlton/trunk/package/mingw/Makefile
===================================================================
--- mlton/trunk/package/mingw/Makefile	2008-10-03 23:26:39 UTC (rev 6905)
+++ mlton/trunk/package/mingw/Makefile	2008-10-03 23:33:40 UTC (rev 6906)
@@ -1,73 +1,47 @@
-WIX="/c/Program Files/WiX"
-TARDIR=/c/DOCUME~1/terpstra/Desktop/downloads/mingw
-MLTON=mlton
+WIX="/c/Programme/Windows Installer XML v3/bin"
+TARDIR=/c/DOKUME~1/terpstra/Desktop/MinGW
+MLTON=../../build/bin/mlton
 
-MINGW_RUNTIME=$(TARDIR)/mingw-runtime-3.14.tar.gz
-MINGW_W32API=$(TARDIR)/w32api-3.11.tar.gz
-MINGW_BINUTILS=$(TARDIR)/binutils-2.17.50-20060824-1.tar.gz
-MINGW_GCC=$(TARDIR)/gcc-core-3.4.5-20060117-1.tar.gz
-MINGW_MSYS=$(TARDIR)/msysCORE-1.0.11-2007.01.19-1.tar.bz2
-MINGW_GMP=$(TARDIR)/mingw-gmp-4.2.3-1.tar.gz
-
-MINGW_WXS=mingw-runtime.wxs w32api.wxs binutils.wxs gcc.wxs gmp.wxs msys.wxs
+MINGW_WXS=runtime.wxs w32api.wxs binutils.wxs gcc.wxs gmp.wxs msys.wxs gdb.wxs
 MINGW_WIXOBJ=$(patsubst %.wxs,%.wixobj,$(MINGW_WXS))
 
-mlton.msi:	mlton.wixobj self.wixobj dbg.wixobj filesys.wixobj $(MINGW_WIXOBJ)
-	$(WIX)/light -out $@ $^ $(WIX)/wixui.wixlib -loc $(WIX)/WixUI_en-us.wxl
+MLton.msi:	mlton.wixobj self.wixobj dbg.wixobj filesys.wixobj $(MINGW_WIXOBJ)
+	$(WIX)/light -cultures:en-us -ext WixUIExtension -out $@ $^
 
 clean:
-	rm -rf staging mlton.msi *.wixobj *.exe $(MINGW_WXS) self.wxs dbg.wxs filesys.wxs
+	rm -rf staging MLton.msi *.wixobj *.exe $(MINGW_WXS) self.wxs dbg.wxs filesys.wxs
 
 %.wixobj:	%.wxs
-	$(WIX)/candle $<
+	$(WIX)/candle -ext WixUIExtension $<
 
 %.exe:		%.sml
 	$(MLTON) $<
 
-# This has to happen after everything else is unpacked
-filesys.wxs:	dirs2wix-filesys.exe $(MINGW_WIXOBJ) self.wixobj
-	cd staging; find * -type d | ../dirs2wix-filesys > ../$@.tmp 
-	mv $@.tmp $@
-
-mingw-runtime.wxs:	$(MINGW_RUNTIME) self.wxs
-	tar tzf $< | ./files2wix-component Runtime > $@.tmp
-	cd staging; tar xzf $(MINGW_RUNTIME)
-	mv $@.tmp $@
-
-w32api.wxs:		$(MINGW_W32API) self.wxs
-	tar tzf $< | ./files2wix-component W32API > $@.tmp
-	cd staging; tar xzf $(MINGW_W32API)
-	mv $@.tmp $@
-
-binutils.wxs:		$(MINGW_BINUTILS) self.wxs
-	tar tzf $< | grep -v info/dir | ./files2wix-component Binutils > $@.tmp
-	cd staging; tar xzf $(MINGW_BINUTILS)
-	mv $@.tmp $@
-
-gcc.wxs:		$(MINGW_GCC) self.wxs
-	tar tzf $< | ./files2wix-component GCC > $@.tmp
-	cd staging; tar xzf $(MINGW_GCC)
-	mv $@.tmp $@
-
-msys.wxs:		$(MINGW_MSYS) self.wxs
-	(tar --exclude postinstall -tjf $<; echo bin/bash.exe) | ./files2wix-component MSYS > $@.tmp
-	cd staging; tar xjf $(MINGW_MSYS)
-	cp staging/bin/sh.exe staging/bin/bash.exe
-	mv $@.tmp $@
-
-gmp.wxs:		$(MINGW_GMP) self.wxs
-	tar tzf $< | ./files2wix-component GMP > $@.tmp
-	cd staging; tar xzf $(MINGW_GMP)
-	mv $@.tmp $@
-
 self.wxs:	files2wix-component.exe
 	rm -rf staging
 	make -C ../.. PREFIX= install
 	mv ../../install staging
-	cp sml.ico mlb.ico staging/lib/mlton
 	cd staging; find * -type f ! -name *-gdb.a | ../files2wix-component MLton > ../$@.tmp
 	mv $@.tmp $@
 
 dbg.wxs:	self.wxs
 	cd staging; find * -type f -name *-gdb.a | ../files2wix-component Debug > ../$@.tmp
 	mv $@.tmp $@
+
+# This has to happen after everything else is unpacked
+filesys.wxs:	dirs2wix-filesys.exe $(MINGW_WIXOBJ) self.wixobj
+	cd staging; find * -type d | ../dirs2wix-filesys > ../$@.tmp 
+	mv $@.tmp $@
+
+runtime.wxs:	$(TARDIR)/mingwrt-3.15-mingw32-dev.tar.gz self.wxs
+w32api.wxs:		$(TARDIR)/w32api-3.12-mingw32-dev.tar.gz self.wxs
+binutils.wxs:	$(TARDIR)/binutils-2.18.50-20080109-2-coffgen.tar.gz self.wxs
+gcc.wxs:		$(TARDIR)/gcc-core-3.4.5-20060117-3.tar.gz self.wxs
+msys.wxs:		$(TARDIR)/msysCORE-1.0.11-20080826.tar.gz self.wxs
+gdb.wxs:		$(TARDIR)/gdb-6.8-mingw-3.tar.gz self.wxs
+gmp.wxs:		$(TARDIR)/mingw-gmp-4.2.3-1.tar.gz self.wxs
+
+%.wxs:
+	tar --exclude postinstall -tzf $< | ./files2wix-component $(*F) > $@.tmp
+	cd staging; tar -xzf $<
+	mv $@.tmp $@

Modified: mlton/trunk/package/mingw/dirs2wix-filesys.sml
===================================================================
--- mlton/trunk/package/mingw/dirs2wix-filesys.sml	2008-10-03 23:26:39 UTC (rev 6905)
+++ mlton/trunk/package/mingw/dirs2wix-filesys.sml	2008-10-03 23:33:40 UTC (rev 6906)
@@ -1,6 +1,6 @@
 val prefix = "\
    \<?xml version='1.0' encoding='windows-1252'?>\n\
-   \<Wix xmlns='http://schemas.microsoft.com/wix/2003/01/wi'>\n\
+   \<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>\n\
    \  <Fragment Id='FragmentFileSys'>\n\
    \    <DirectoryRef Id='INSTALLDIR'>\n"
 val suffix = "\
@@ -8,8 +8,11 @@
    \  </Fragment>\n\
    \</Wix>\n"
 
+fun tail s =
+    if String.size s < 60 then s else
+    String.extract (s, String.size s - 60, NONE)
 fun escape c = if Char.isAlphaNum c orelse c = #"." then c else #"_"
-val escape = CharVector.map escape
+val escape = tail o CharVector.map escape
 
 val depth = ref 3
 fun pad () = CharVector.tabulate (!depth * 2, fn _ => #" ")
@@ -17,26 +20,13 @@
   let
      val path = head @ [t]
      val paths = String.concatWith "/" path
-     val file83 = file83 t
-     val long = if file83 = t then "" else " LongName='" ^ t ^ "'"
      val () =
         print (pad () ^ "<Directory Id='dir." ^ escape paths ^ "' \
-                                   \Name='" ^ file83 ^ "'" ^ long ^ ">\n")
+                                   \Name='" ^ t ^ "'>\n")
      val () = depth := !depth + 1
   in
     head
   end
-and file83 file =
-   let
-      val {base, ext} = OS.Path.splitBaseExt file
-      fun trunc x s = String.substring (s, 0, Int.min (x, String.size s))
-      val (base, ext) = (trunc 8 base, Option.map (trunc 3) ext)
-      fun crush c = if Char.contains "\\?|><:/*+,;=[] " c then #"_" else c
-      val crush = CharVector.map crush
-      val (base, ext) = (crush base, Option.map crush ext)
-   in
-      case ext of NONE => base | SOME ext => base ^ "." ^ ext
-   end
 
 fun unindent _ =
    (depth := !depth - 1

Modified: mlton/trunk/package/mingw/files2wix-component.sml
===================================================================
--- mlton/trunk/package/mingw/files2wix-component.sml	2008-10-03 23:26:39 UTC (rev 6905)
+++ mlton/trunk/package/mingw/files2wix-component.sml	2008-10-03 23:33:40 UTC (rev 6906)
@@ -6,14 +6,17 @@
 
 val prefix = "\
    \<?xml version='1.0' encoding='windows-1252'?>\n\
-   \<Wix xmlns='http://schemas.microsoft.com/wix/2003/01/wi'>\n\
+   \<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>\n\
    \  <Fragment Id='Fragment" ^ myId ^ "'>\n"
 val suffix = "\
    \  </Fragment>\n\
    \</Wix>\n"
 
+fun tail s =
+    if String.size s < 60 then s else
+    String.extract (s, String.size s - 60, NONE)
 fun escape c = if Char.isAlphaNum c orelse c = #"." then c else #"_"
-val escape = CharVector.map escape
+val escape = tail o CharVector.map escape
 
 fun feature paths =
    let
@@ -37,15 +40,13 @@
       val dirId = "dir." ^ escape dir
       val uglypath = escape path
       val guid = guid path
-      val file83 = file83 file
    in
       if file = "" orelse dir = "" then "" else
       "    <DirectoryRef Id='" ^ dirId ^ "'>\n\
       \      <Component Id='component." ^ uglypath ^ "' \
                        \Guid='" ^ guid ^ "'>\n\
       \         <File Id='file." ^ uglypath ^ "' \
-                     \LongName='" ^ file ^ "' \
-                     \Name='" ^ file83 ^ "' DiskId='1' Vital='yes' \
+                     \Name='" ^ file ^ "' DiskId='1' Vital='yes' \
                      \Source='staging/" ^ path ^ "' />\n\
       \      </Component>\n\
       \    </DirectoryRef>\n"
@@ -61,19 +62,12 @@
    in
       w32 () ^"-"^ w16 () ^"-"^ w16 () ^"-"^ w16 () ^"-"^ w16 () ^ w32 ()
    end
-and file83 file = 
-   let
-      val {base, ext} = OS.Path.splitBaseExt file
-      fun trunc x s = String.substring (s, 0, Int.min (x, String.size s))
-      val (base, ext) = (trunc 8 base, Option.map (trunc 3) ext)
-      fun crush c = if Char.contains "\\?|><:/*+,;=[] " c then #"_" else c
-      val crush = CharVector.map crush
-      val (base, ext) = (crush base, Option.map crush ext)
-   in
-      case ext of NONE => base | SOME ext => base ^ "." ^ ext
-   end
 
-fun trim path = String.substring (path, 0, String.size path - 1)
+fun tail path = String.substring (path, 0, String.size path - 1)
+fun head path = if String.isPrefix "./" path 
+                then String.extract (path, 2, NONE) 
+                else path
+val trim = head o tail
 fun loop files =
    case TextIO.inputLine TextIO.stdIn of NONE => files | SOME path =>
    (print (dirEntry (trim path)); loop ((trim path) :: files))

Modified: mlton/trunk/package/mingw/mlton.wxs
===================================================================
--- mlton/trunk/package/mingw/mlton.wxs	2008-10-03 23:26:39 UTC (rev 6905)
+++ mlton/trunk/package/mingw/mlton.wxs	2008-10-03 23:33:40 UTC (rev 6906)
@@ -1,10 +1,10 @@
 <?xml version='1.0' encoding='windows-1252'?>
-<Wix xmlns='http://schemas.microsoft.com/wix/2003/01/wi'>
+<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
   <Product Name='MLton' Id='E78E6DFD-5738-B137-DD2A-EA81A1A841EC'
     UpgradeCode='C353A6D5-4A30-D7CF-62E2-04D98AF8A864'
     Language='1033' Codepage='1252' Version='1.0' Manufacturer='MLton.org'>
 
-    <Package Id='????????-????-????-????-????????????' Keywords='Installer'
+    <Package Id='*' Keywords='Installer'
       Description="MLton Installer"
       Comments='MLton is an open-source, whole-program, optimizing Standard ML compiler.' Manufacturer='MLton.org'
       InstallerVersion='100' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
@@ -17,12 +17,15 @@
         <Directory Id='INSTALLDIR' Name='MLton' />
       </Directory>
 
-      <Directory Id="ProgramMenuFolder" Name="PMenu" LongName="Programs">
+      <Directory Id="ProgramMenuFolder" Name="Programs">
         <Directory Id="ProgramMenuDir" Name='MLton'>
           <Component Id='component.download.url' Guid='A9C0D185-9520-45FF-1B52-02894D3EAA54'>
+            <RemoveFolder Id='ProgramMenuDir' On='uninstall'/>
+            <RegistryValue Root='HKCU' Key='SOFTWARE\MLton.org\MLton\download' Type='string' Value='' KeyPath='yes' />
             <File Id='file.menu_download.url' Name='Download.URL' Source='Download.URL' DiskId='1' Vital='yes' />
           </Component>
           <Component Id='component.readme.txt' Guid='1FC6B351-547C-A5AB-7F0E-FB153F721170'>
+            <RegistryValue Root='HKCU' Key='SOFTWARE\MLton.org\MLton\readme' Type='string' Value='' KeyPath='yes' />
             <File Id='file.menu_readme.txt' Name='Readme.rtf' Source='Readme.rtf' DiskId='1' Vital='yes' />
           </Component>
         </Directory>
@@ -33,79 +36,87 @@
 
     <DirectoryRef Id='dir.doc_mlton'>
       <Component Id='component.documentation' Guid='1E019F99-0424-8133-D4F6-C7DDA0882798'>
-        <Shortcut Id='start_docs' Directory='ProgramMenuDir' Name='Docs' LongName='Documentation' Description='The MLton documentation folder'/>
+        <RegistryValue Root='HKCU' Key='SOFTWARE\MLton.org\MLton\docs' Type='string' Value='' KeyPath='yes' />
+        <Shortcut Id='start_docs' Directory='ProgramMenuDir' Name='Documentation' Description='The MLton documentation folder'/>
       </Component>
     </DirectoryRef>
 
     <DirectoryRef Id='dir.bin'>
       <Component Id='component.path' Guid='5B06C123-B426-3D4D-BE48-4D07BAD8A6BA'>
+        <RegistryValue Root='HKCU' Key='SOFTWARE\MLton.org\MLton\path' Type='string' Value='' KeyPath='yes' />
         <Environment Id='env.path' Name='PATH' Action='set' Part='last' System='yes' Value='[dir.bin]' />
       </Component>
       <Component Id='component.bin_mlton.bat' Guid='A2E613BD-41F8-1CF7-D5EA-0C41674D78AC'>
         <File Id='file.bin_mlton.bat' Name='mlton.bat' Source='mlton.bat' DiskId='1' Vital='yes' />
-        <ProgId Id='MLton.mlbfile' Description='Standard ML basis file'>
+        <File Id='file.bin_sml.ico' Name='sml.ico' Source='sml.ico' DiskId='1' Vital='yes' />
+        <File Id='file.bin_mlb.ico' Name='mlb.ico' Source='mlb.ico' DiskId='1' Vital='yes' />
+        <ProgId Id='MLton.mlbFile' Description='Standard ML basis file' Icon='file.bin_mlb.ico'>
           <Extension Id='mlb' ContentType='application/mlb'>
-            <Verb Id='buildMLB' Sequence='10' Command='Compile' Target='[!file.bin_mlton.bat]' Argument='-cc-opt -O1 -verbose 1 "%1"' />
+            <Verb Id='buildMLB' Command='Compile' TargetFile='file.bin_mlton.bat' Argument='-cc-opt -O1 -verbose 1 "%1"' />
           </Extension>
         </ProgId>
-        <ProgId Id='MLton.smlfile' Description='Standard ML source file'>
+        <ProgId Id='MLton.smlFile' Description='Standard ML source file' Icon='file.bin_sml.ico'>
           <Extension Id='sml' ContentType='application/sml'>
-            <Verb Id='buildSML' Sequence='10' Command='Compile' Target='[!file.bin_mlton.bat]' Argument='-cc-opt -O1 -verbose 1 "%1"' />
+            <Verb Id='buildSML' Command='Compile' TargetFile='file.bin_mlton.bat' Argument='-cc-opt -O1 -verbose 1 "%1"' />
           </Extension>
         </ProgId>
-        <Registry Id='SMLIcon1' Root='HKCR' Key='.sml' Action='write' Type='string' Value='MLton.smlfile' />
-        <Registry Id='SMLIcon2' Root='HKCR' Key='MLton.smlfile' Action='write' Type='string' Value='Standard ML source file' />
-        <Registry Id='SMLIcon3' Root='HKCR' Key='MLton.smlfile\DefaultIcon' Action='write' Type='string' Value='[INSTALLDIR]\lib\mlton\sml.ico' />
-        <Registry Id='MLBIcon1' Root='HKCR' Key='.mlb' Action='write' Type='string' Value='MLton.mlbfile' />
-        <Registry Id='MLBIcon2' Root='HKCR' Key='MLton.mlbfile' Action='write' Type='string' Value='Standard ML basis file' />
-        <Registry Id='MLBIcon3' Root='HKCR' Key='MLton.mlbfile\DefaultIcon' Action='write' Type='string' Value='[INSTALLDIR]\lib\mlton\mlb.ico' />
       </Component>
       <Component Id='component.bin_msys.bat' Guid='9C492AB5-3C90-66AF-E442-D6B96A9890C4'>
-        <File Id='file.bin_msys.bat' Name='msys.bat' Source='msys.bat' DiskId='1' Vital='yes'>
-          <Shortcut Id='start_msys' Directory='ProgramMenuDir' Name='MSYS' Description='Unix-like system shell' Icon='msys.ico'>
-            <Icon Id='msys.ico' SourceFile='staging/msys.ico'/>
-          </Shortcut>
-        </File>
+        <File Id='file.bin_msys.bat' Name='msys.bat' Source='msys.bat' DiskId='1' Vital='yes' />
       </Component>
+      <Component Id='component.start_msys' Guid='9C4163A5-3C90-6BAF-E442-D6B9619890C2'>
+        <RegistryValue Root='HKCU' Key='SOFTWARE\MLton.org\MLton\msys' Type='string' Value='' KeyPath='yes' />
+        <Shortcut Id='start_msys' Directory='ProgramMenuDir' Name='MSYS' Description='Unix-like system shell' Icon='msys.ico' Target='[#file.bin_msys.bat]'>
+          <Icon Id='msys.ico' SourceFile='staging/msys.ico'/>
+        </Shortcut>
+      </Component>
     </DirectoryRef>
    
-    <Feature Id='MLton' Title='MLton' Description='A whole-program optimizing Standard ML compiler.' Display='expand' Level='1' ConfigurableDirectory='INSTALLDIR'>
+    <Feature Id='MLton' Title='MLton' Description='A whole-program optimizing Standard ML compiler.' Display='expand' Level='1' ConfigurableDirectory='INSTALLDIR' AllowAdvertise='no'>
       <ComponentGroupRef Id='component.MLton' />
       <ComponentRef Id='component.bin_mlton.bat' />
       <ComponentRef Id='component.path' />
       <ComponentRef Id='component.download.url' />
       <ComponentRef Id='component.readme.txt' />
       <ComponentRef Id='component.documentation' />
-      <Feature Id='Debug' Title='Debug' Description='The MLton runtime libraries with included debug information.' Level='10'>
+      <Feature Id='Debug' Title='Debug' Description='The MLton runtime libraries with included debug information.' Level='10' AllowAdvertise='no'>
         <ComponentGroupRef Id='component.Debug' />
       </Feature>
     </Feature>
-    <Feature Id='GMP' Title='GMP' Description='An arbitrary precision integer artihmetic library.' Level='1' ConfigurableDirectory='INSTALLDIR'>
-      <ComponentGroupRef Id='component.GMP' />
+    <Feature Id='GMP' Title='GMP' Description='An arbitrary precision integer artihmetic library.' Level='1' ConfigurableDirectory='INSTALLDIR' AllowAdvertise='no'>
+      <ComponentGroupRef Id='component.gmp' />
     </Feature>
-    <Feature Id='MinGW' Title='MinGW' Description='The minimalist GNU for Windows C compiler toolchain.' Level='1' ConfigurableDirectory='INSTALLDIR'>
-      <Feature Id='Runtime' Title='Runtime' Description='An assortment of thin wrappers that provide POSIX-like functionality on a windows platform.' Level='1'>
-        <ComponentGroupRef Id='component.Runtime' />
+    <Feature Id='MinGW' Title='MinGW' Description='The minimalist GNU for Windows C compiler toolchain.' Level='1' ConfigurableDirectory='INSTALLDIR' AllowAdvertise='no'>
+      <Feature Id='Runtime' Title='Runtime' Description='An assortment of thin wrappers that provide POSIX-like functionality on a windows platform.' Level='1' AllowAdvertise='no'>
+        <ComponentGroupRef Id='component.runtime' />
       </Feature>
-      <Feature Id='W32API' Title='Win32 API' Description='Headers and link stub libraries needed to access windows system DLLs.' Level='1'>
-        <ComponentGroupRef Id='component.W32API' />
+      <Feature Id='W32API' Title='Win32 API' Description='Headers and link stub libraries needed to access windows system DLLs.' Level='1' AllowAdvertise='no'>
+        <ComponentGroupRef Id='component.w32api' />
       </Feature>
-      <Feature Id='Binutils' Title='Binutils' Description='Utilities for manipulating object files, such as the linker and assembler.' Level='1'>
+      <Feature Id='Binutils' Title='Binutils' Description='Utilities for manipulating object files, such as the linker and assembler.' Level='1' AllowAdvertise='no'>
         <ComponentRef Id='component.path' />
-        <ComponentGroupRef Id='component.Binutils' />
+        <ComponentGroupRef Id='component.binutils' />
       </Feature>
-      <Feature Id='GCC' Title='GCC' Description='The GNU C Compiler. Compiles C files to assembly.' Level='1'>
+      <Feature Id='GCC' Title='GCC' Description='The GNU C Compiler. Compiles C files to assembly.' Level='1' AllowAdvertise='no'>
         <ComponentRef Id='component.path' />
-        <ComponentGroupRef Id='component.GCC' />
+        <ComponentGroupRef Id='component.gcc' />
       </Feature>
-      <Feature Id='MSYS' Title='MSYS' Description='A system shell along with UNIX-style command-line utilities.' Level='1'>
+      <Feature Id='MSYS' Title='MSYS' Description='A system shell along with UNIX-style command-line utilities.' Level='1' AllowAdvertise='no'>
+        <ComponentRef Id='component.start_msys' />
         <ComponentRef Id='component.bin_msys.bat' />
         <ComponentRef Id='component.path' />
-        <ComponentGroupRef Id='component.MSYS' />
+        <ComponentGroupRef Id='component.msys' />
       </Feature>
+      <Feature Id='GDB' Title='GDB' Description='A command-line operated program debugger.' Level='10' AllowAdvertise='no'>
+        <ComponentRef Id='component.path' />
+        <ComponentGroupRef Id='component.gdb' />
+      </Feature>
     </Feature>
 
     <UIRef Id="WixUI_Mondo" />
-    <UIRef Id="WixUI_ErrorProgressText" />
+    <WixVariable Id="WixUIBannerBmp" Value="Bitmaps/bannrbmp.bmp" />  
+    <WixVariable Id="WixUIDialogBmp" Value="Bitmaps/dlgbmp.bmp" />  
+    <WixVariable Id="WixUILicenseRtf" Value="License.rtf" /> 
+    <Property Id='WIXUI_INSTALLDIR' Value='INSTALLDIR' /> 
   </Product>
 </Wix>




More information about the MLton-commit mailing list