scheme48.wxs 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- Part of Scheme 48 1.9. See file COPYING for notices and license. -->
  3. <!-- Authors: Mike Sperber -->
  4. <!-- WiX 3.0 source file for building a Windows .msi installer for Scheme 48 -->
  5. <!-- To build, fire up Cygwin, cd to the source directory, and do:
  6. build/generate-scheme48-files-wxi.sh ./scheme48vm -i scheme48.image
  7. candle build/scheme48.wxs
  8. light -ext WixUIExtension -cultures:en-us scheme48.wixobj
  9. [expect 2 "LGHT1076:ICE69" warnings]
  10. -->
  11. <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  12. <!-- TODO:
  13. - user-definable location for shortcut
  14. -->
  15. <Product Id="5dc91c36-df2e-11d9-817f-00111175eb9e" Name="Scheme 48 1.9T" Version="1.9" Manufacturer="The Scheme 48 Maintainers, s48-info@s48.org" Codepage="1252" Language="1033" UpgradeCode="03640C67-8DAA-472d-A141-4DD75DD7B772">
  16. <Package Description="Scheme 48" Comments="Scheme 48 Development System" Manufacturer="The Scheme 48 Maintainers" InstallerVersion="110" Platform="x86" Languages="1033" Compressed="yes" />
  17. <Condition Message="This software only runs on Windows NT 4.0/2000/XP.">
  18. VersionNT
  19. </Condition>
  20. <Media Id="1" EmbedCab="yes" Cabinet="scheme48.cab" />
  21. <Directory Id="TARGETDIR" Name="SourceDir">
  22. <Directory Id="ProgramFilesFolder" Name="PFiles">
  23. <Directory Id="Scheme48" Name="Scheme 48">
  24. <Directory Id="INSTALLDIR" Name="Scheme 48 1.9T">
  25. <Component Id="Main" Guid="74a1362f-df2e-11d9-817f-00111175eb9e">
  26. <File Id="Scheme48VM" Name="scheme48vm.exe" DiskId="1" Source="scheme48vm.exe" Vital="yes" />
  27. <File Id="Scheme48VM.lib" Name="scheme48vm.lib" DiskId="1" Source="scheme48vm.lib" Vital="yes" />
  28. <File Id="COPYING" Name="COPYING" DiskId="1" Source="COPYING" Vital="yes" />
  29. <!-- install null files to make sure the generated files get uninstalled again -->
  30. <File Id="Scheme48Image" Name="scheme48.image" Source="build/dummy" DiskId="1" Vital="yes" />
  31. <File Id="Scheme48BAT" Name="scheme48.bat" Source="build/dummy" DiskId="1" Vital="yes" />
  32. </Component>
  33. <?include scheme48-files.wxi ?>
  34. <Directory Id="include" Name="include">
  35. <Component Id="include_component" Guid="78c33182-df2e-11d9-817f-00111175eb9e">
  36. <File Id="include_scheme48.h" Name="scheme48.h" Source="c/scheme48.h" DiskId="1" Vital="yes" />
  37. <File Id="include_scheme48write_barrier.h" Name="scheme48write-barrier.h" Source="c/scheme48write-barrier.h" DiskId="1" Vital="yes" />
  38. <File Id="include_scheme48arch.h" Name="scheme48arch.h" Source="c/win32/scheme48arch.h" DiskId="1" Vital="yes" />
  39. </Component>
  40. </Directory>
  41. <Directory Id="external" Name="external">
  42. <Component Id="external_component" Guid="CAAA27A9-D56B-4EE3-AF02-02227F020C75">
  43. <File Id="external_srfi_27.dll" Name="srfi-27.dll" Source="srfi-27.dll" DiskId="1" Vital="yes" />
  44. <File Id="external_r6rs.dll" Name="r6rs.dll" Source="r6rs.dll" DiskId="1" Vital="yes" />
  45. </Component>
  46. </Directory>
  47. <Directory Id="build" Name="build">
  48. <Component Id="build_component" Guid="7d78a564-df2e-11d9-817f-00111175eb9e">
  49. <File Id="build_initial.image" Name="initial.image-32" DiskId="1" Source="build/initial.image-32" Vital="yes" />
  50. <File Id="build_initial.debug" Name="initial.debug" DiskId="1" Source="build/initial.debug" Vital="yes" />
  51. <File Id="build_initial.scm" Name="initial.scm" DiskId="1" Source="build/initial.scm" Vital="yes" />
  52. <File Id="build_build_usual_image.bat" Name="build-usual-image.bat" Source="build/build-usual-image.bat" DiskId="1" Vital="yes" />
  53. <!--- install a null file so it will be deleted again by rollback and uninstall -->
  54. <File Id="build_usual_image.input" Name="build-usual-image.input" Source="build/dummy" DiskId="1" Vital="yes" />
  55. <File Id="generate_go.bat" Name="generate-go.bat" Source="build/generate-go.bat" DiskId="1" Vital="yes" />
  56. </Component>
  57. </Directory>
  58. </Directory>
  59. </Directory>
  60. </Directory>
  61. <Directory Id="ProgramMenuFolder" Name="Programs">
  62. <Directory Id="ProgramMenuDir" Name="Scheme 48" />
  63. </Directory>
  64. <Directory Id="DesktopFolder" Name="Desktop" />
  65. </Directory>
  66. <DirectoryRef Id="ProgramMenuDir">
  67. <Component Id="short_cut_component" Guid="4C17374F-37C7-4a09-A7E1-15BAD7CE7120">
  68. <Shortcut Id="start_menu_entry" Directory="ProgramMenuDir" Description="Scheme 48 Console" Name="Scheme 48 1.9T" Target="[INSTALLDIR]scheme48" WorkingDirectory="INSTALLDIR" Icon="scheme48.ico" IconIndex="0" Show="normal" />
  69. <Shortcut Id="doc_html_menu_entry" Directory="ProgramMenuDir" Description="Scheme 48 HTML Documentation" Name="Scheme 48 1.9T HTML Documentation" Target="[#doc_html_manual.html]" Show="normal" />
  70. <Shortcut Id="doc_pdf_menu_entry" Directory="ProgramMenuDir" Description="Scheme 48 PDF Documentation" Name="Scheme 48 1.9T PDF Documentation" Target="[#doc_manual.pdf]" Show="normal" />
  71. <RemoveFolder Id="ProgramMenuDir" On="uninstall"/>
  72. <RegistryValue Root="HKCU" Key="Software\Scheme 48\Scheme 48 1.9T" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
  73. </Component>
  74. </DirectoryRef>
  75. <!-- declare building of scheme48.image -->
  76. <!-- /v:off needed to avoid mangling !s on some systems -->
  77. <CustomAction Id="build_usual_image" Directory="INSTALLDIR" ExeCommand="[SystemFolder]cmd.exe /v:off /c build\build-usual-image.bat &quot;[INSTALLDIR]&quot; &quot;[INSTALLDIR]scheme&quot; &quot;[INSTALLDIR]external&quot; &quot;[INSTALLDIR]scheme48.image&quot; &quot;[INSTALLDIR]scheme48vm.exe&quot; &quot;[INSTALLDIR]build\initial.image-32&quot;" Execute="deferred" Impersonate="no" Return="check" />
  78. <!-- declare generation of front end -->
  79. <CustomAction Id="generate_go" FileKey="generate_go.bat" ExeCommand="&quot;[INSTALLDIR]scheme48.bat&quot; &quot;[INSTALLDIR]scheme48vm.exe&quot; &quot;[INSTALLDIR]scheme48.image&quot;" Execute="deferred" Impersonate="no" Return="check" />
  80. <Icon Id="scheme48.ico" SourceFile="build/scheme48.ico" />
  81. <Feature Id="Complete" Level="1" Title="Scheme 48 1.9T" Description="Scheme 48 1.9T main installation" ConfigurableDirectory="INSTALLDIR">
  82. <ComponentRef Id="Main" />
  83. <ComponentRef Id="include_component" />
  84. <ComponentRef Id="build_component" />
  85. <ComponentRef Id="scheme_component" />
  86. <ComponentRef Id="scheme_env_component" />
  87. <ComponentRef Id="scheme_big_component" />
  88. <ComponentRef Id="scheme_sort_component" />
  89. <ComponentRef Id="scheme_misc_component" />
  90. <ComponentRef Id="scheme_cml_component" />
  91. <ComponentRef Id="scheme_srfi_component" />
  92. <ComponentRef Id="scheme_rts_component" />
  93. <ComponentRef Id="scheme_r6rs_component" />
  94. <ComponentRef Id="scheme_net_component" />
  95. <ComponentRef Id="scheme_posix_component" />
  96. <ComponentRef Id="external_component" />
  97. <ComponentRef Id="doc_component" />
  98. <ComponentRef Id="doc_html_component" />
  99. <ComponentRef Id="short_cut_component" />
  100. </Feature>
  101. <!-- schedule the building of scheme48.image -->
  102. <InstallExecuteSequence>
  103. <Custom Action="build_usual_image" Before="InstallFinalize"><![CDATA[(NOT Installed) OR (INSTALLMODE = "Repair")]]></Custom>
  104. <Custom Action="generate_go" Before="InstallFinalize"><![CDATA[(NOT Installed) OR (INSTALLMODE = "Repair")]]></Custom>
  105. </InstallExecuteSequence>
  106. <WixVariable Id="WixUILicenseRtf" Value="COPYING.rtf" />
  107. <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />
  108. <Property Id="ARPPRODUCTICON" Value="scheme48.ico" />
  109. <UIRef Id="WixUI_InstallDir" />
  110. </Product>
  111. </Wix>