Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

202 lines
5.4 KiB

  1. !include ..\..\..\src\makever.inc
  2. BIN_DIR=$(MSI_DIR)\bin\$(TARGET_DIRECTORY)
  3. INSTMSI_DIR=$(MSI_DIR)\data\instmsi
  4. IDT_DIR=$(INSTMSI_DIR)\$(MSI_SUBDIR)\$(O)
  5. MSI_ALT_PROJECT_TARGET=$(ALT_PROJECT_TARGET)
  6. !if "$(MSI_BUILD_UNICODE)"=="1"
  7. # the double slashes are needed to let SED do its trick without mis-interpreting the slashes as escaped characters
  8. MSI_ALT_TARGET=
  9. ALT_PROJECT_TARGET=InstMsi\unicode
  10. !else
  11. # the double slashes are needed to let SED do its trick without mis-interpreting the slashes as escaped characters
  12. MSI_ALT_TARGET=\msiwin9x
  13. ALT_PROJECT_TARGET=InstMsi\ansi
  14. !endif
  15. MSI_BASE_TREE=_NTPOSTBLD\$(MSI_ALT_TARGET)
  16. MSI_REGSIP_DIR=$(MSI_ALT_TARGET)\.
  17. MAKEFILE=..\make.inc
  18. !if $(FREEBUILD)
  19. VERSION=SHIP
  20. !else
  21. VERSION=DEBUG
  22. !endif
  23. InstMsi: $(MAKEFILE) $(O)\InstMsi.sed exception support $(O)\instmsi.mak $(O)\binary.idt $(O)\instmsi.msi
  24. exception: $(O)\msi.cdf $(O)\msi.inf $(O)\mspatcha.cdf $(O)\mspatcha.inf
  25. support: $(O)\cabinet.dll $(O)\imagehlp.dll $(O)\mspatcha.dll $(O)\riched20.dll $(O)\usp10.dll $(O)\msls31.dll $(O)\shfolder.dll $(O)\jdate2.exe
  26. $(O)\instmsi.mak: $(INSTMSI_DIR)\$(@F)
  27. echo <<$@ >>NUL
  28. MSI_BUILD_NUMBER=$(MSIRMJ).$(MSIRMM).$(MSIRUP).$(MSIRIN)
  29. TARGET=$(ALT_PROJECT_TARGET)
  30. REGSIP_DIR=$(MSI_REGSIP_DIR)
  31. MSI_ALT_TARGET=$(MSI_ALT_TARGET)
  32. MSI_BUILD_UNICODE=$(MSI_BUILD_UNICODE)
  33. <<KEEP
  34. type $(INSTMSI_DIR)\$(@F) >> $@
  35. $(BINPLACE_CMD)
  36. #UNICODE only support files
  37. $(O)\msi.cdf $(O)\msi.inf : $(INSTMSI_DIR)\msi.cdf $(INSTMSI_DIR)\msi.inf
  38. !if "$(MSI_BUILD_UNICODE)"=="1"
  39. copy $(INSTMSI_DIR)\$(@F) $@
  40. $(BINPLACE_CMD)
  41. !endif
  42. $(O)\mspatcha.cdf $(O)\mspatcha.inf : $(INSTMSI_DIR)\mspatcha.cdf $(INSTMSI_DIR)\mspatcha.inf
  43. !if "$(MSI_BUILD_UNICODE)"=="1"
  44. copy $(INSTMSI_DIR)\$(@F) $@
  45. $(BINPLACE_CMD)
  46. !endif
  47. $(O)\binary.idt : $(INSTMSI_DIR)\binary.idt
  48. copy $(INSTMSI_DIR)\$(@F) $@
  49. $(BINPLACE_CMD)
  50. $(O)\cabinet.dll $(O)\mspatcha.dll $(O)\usp10.dll $(O)\msls31.dll $(O)\shfolder.dll $(O)\riched20.dll:
  51. copy $(BIN_DIR)\$(@F) $@
  52. copy $(BIN_DIR)\$(@B).pdb $(O)\$(@B).pdb
  53. $(BINPLACE_CMD)
  54. $(O)\imagehlp.dll:
  55. copy $(BIN_DIR)\$(@F) $@
  56. copy $(BIN_DIR)\imagehlp.pdb $(O)\$(@B).pdb
  57. $(BINPLACE_CMD)
  58. $(O)\copymsi.msi: $(MAKEFILE) $(MSI_DATA_DIR)\msimsi\*.idt ..\intl\inst*.msi ..\instmsi.pl $(MSI_INTLDATA_DIR)\error.enu $(MSI_INTLDATA_DIR)\actionte.enu
  59. msidb.exe -c -f$(MSI_DATA_DIR)\msimsi -d$@ *.idt
  60. !if "$(MSI_BUILD_UNICODE)"=="1"
  61. msidb.exe -f$(MSI_DATA_DIR)\msimsi\unicode -i -d$@ *.idt
  62. !else
  63. msidb.exe -f$(MSI_DATA_DIR)\msimsi\ansi -i -d$@ *.idt
  64. !endif
  65. copy $(MSI_INTLDATA_DIR)\error.enu $(O)\error.idt
  66. copy $(MSI_INTLDATA_DIR)\actionte.enu $(O)\actionte.idt
  67. msidb.exe -f$(IDT_DIR) -i -d$@ error.idt actionte.idt
  68. copy $@ $(O)\inst1033.msi
  69. perl ..\instmsi.pl $@ Alpha,Intel ..\intl $(O)
  70. $(O)\instmsi.msi: $(O)\copymsi.msi
  71. copy $(O)\copymsi.msi $@
  72. $(BINPLACE_CMD)
  73. $(O)\jdate2.exe:
  74. copy $(INSTMSI_DIR)\jdate2.exe $@
  75. $(BINPLACE_CMD)
  76. $(O)\InstMsi1.sed : $(MAKEFILE)
  77. echo <<$(O)\InstMsi1.sed >>NUL
  78. [Version]
  79. Class=IEXPRESS
  80. SEDVersion=3
  81. [SourceFiles]
  82. MsiSourceFiles=$(MSI_BASE_TREE)
  83. CommonFiles=_NTPOSTBLD
  84. MsiSourceFilesDump=$(MSI_BASE_TREE)\msi_bins
  85. InstmsiSourceFiles=_NTPOSTBLD\$(ALT_PROJECT_TARGET)
  86. InstmsiSourceFilesDump=_NTPOSTBLD\$(ALT_PROJECT_TARGET)\msi_bins
  87. ShimDllSourceFiles=_NTPOSTBLD\idw
  88. <<KEEP
  89. $(O)\InstMsi2.sed : $(MAKEFILE)
  90. echo <<$(O)\InstMsi2.sed >>NUL
  91. [Options]
  92. CheckAdminRights=0
  93. PackagePurpose=InstallApp
  94. ShowInstallProgramWindow=0
  95. HideExtractAnimation=1
  96. UseLongFileName=0
  97. InsideCompressed=0
  98. CAB_FixedSize=0
  99. CAB_ResvCodeSigning=0
  100. RebootMode=N
  101. InstallPrompt=
  102. DisplayLicense=
  103. PostInstallCmd=<None>
  104. SourceFiles=SourceFiles
  105. VersionInfo=VersionSection
  106. AlwaysPropogateCmdExitCode=1
  107. <<KEEP
  108. $(O)\instmsi3.sed : $(MAKEFILE)
  109. echo <<$(O)\InstMsi3.sed >>NUL
  110. [MsiSourceFiles]
  111. !if "$(MSI_BUILD_UNICODE)"=="0"
  112. msi.dll=
  113. !endif
  114. msiexec.exe=
  115. msihnd.dll=
  116. msisip.dll=
  117. [CommonFiles]
  118. msimsg.dll=
  119. msimain.sdb=
  120. [MsiSourceFilesDump]
  121. msiinst.exe=
  122. [InstmsiSourceFiles]
  123. !if "$(MSI_BUILD_UNICODE)"=="1"
  124. msi.dll=
  125. msi.cat=
  126. msi.inf=
  127. mspatcha.inf=
  128. mspatcha.cat=
  129. !endif
  130. riched20.dll=
  131. usp10.dll=
  132. msls31.dll=
  133. shfolder.dll=
  134. instmsi.msi=
  135. imagehlp.dll=
  136. [InstmsiSourceFilesDump]
  137. cabinet.dll=
  138. mspatcha.dll=
  139. [ShimDllSourceFiles]
  140. !if "$(MSI_BUILD_UNICODE)"=="0"
  141. sdbapi.dll=
  142. !else
  143. sdbapiU.dll=
  144. !endif
  145. [VersionSection]
  146. FromFile=msiexec.exe
  147. OriginalFilename=Msi.dll,MsiHnd.dll,MsiExec.exe
  148. InternalName=InstMsi.exe
  149. FileDescription=Installer for the Windows Installer
  150. #These come msiexec.exe now.
  151. LegalCopyright=Copyright (c) Microsoft Corp. 2000
  152. !if "$(MSI_BUILD_UNICODE)"=="1"
  153. ProductName=Windows Installer - Unicode
  154. !else
  155. ProductName=Windows Installer
  156. !endif
  157. !if $(FREEBUILD)
  158. FileFlags=0
  159. !else
  160. FileFlags=1
  161. !endif
  162. ProductVersion=$(MSIRMJ).$(MSIRMM).$(MSIRUP).$(MSIRIN)
  163. FileVersion=$(MSIRMJ).$(MSIRMM).$(MSIRUP).$(MSIRIN)
  164. <<KEEP
  165. $(O)\instmsi.sed: $(O)\instmsi1.sed $(O)\instmsi2.sed $(O)\instmsi3.sed
  166. type $(O)\instmsi1.sed > $@
  167. type $(O)\instmsi3.sed >> $@
  168. type $(O)\instmsi2.sed >>$@
  169. echo FriendlyName=Installation of System Software Installer $(VERSION) >>$@
  170. echo TargetName=_NTPOSTBLD\$(ALT_PROJECT_TARGET)\InstMsi.exe >>$@
  171. echo AdminQuietInstCmd=msiinst.exe /i instmsi.msi REBOOT=REALLYSUPRESS MSIEXECREG=1 /m /q >>$@
  172. echo UserQuietInstCmd=msiinst.exe /i instmsi.msi REBOOT=REALLYSUPRESS MSIEXECREG=1 /m /q >>$@
  173. echo AppLaunched=msiinst.exe /i instmsi.msi MSIEXECREG=1 /m /qb+! >>$@
  174. $(BINPLACE_CMD)