Source code of Windows XP (NT5)
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.

194 lines
5.0 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)\dump
  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
  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)\binary.idt : $(INSTMSI_DIR)\binary.idt
  43. copy $(INSTMSI_DIR)\$(@F) $@
  44. $(BINPLACE_CMD)
  45. $(O)\cabinet.dll $(O)\mspatcha.dll $(O)\usp10.dll $(O)\msls31.dll $(O)\shfolder.dll $(O)\riched20.dll:
  46. copy $(BIN_DIR)\$(@F) $@
  47. copy $(BIN_DIR)\$(@B).pdb $(O)\$(@B).pdb
  48. $(BINPLACE_CMD)
  49. $(O)\imagehlp.dll:
  50. copy $(BIN_DIR)\$(@F) $@
  51. copy $(BIN_DIR)\imagehlp.pdb $(O)\$(@B).pdb
  52. $(BINPLACE_CMD)
  53. $(O)\copymsi.msi: $(MAKEFILE) $(MSI_DATA_DIR)\msimsi\*.idt ..\intl\inst*.msi ..\instmsi.pl $(MSI_INTLDATA_DIR)\error.enu $(MSI_INTLDATA_DIR)\actionte.enu
  54. msidb.exe -c -f$(MSI_DATA_DIR)\msimsi -d$@ *.idt
  55. !if "$(MSI_BUILD_UNICODE)"=="1"
  56. msidb.exe -f$(MSI_DATA_DIR)\msimsi\unicode -i -d$@ *.idt
  57. !else
  58. msidb.exe -f$(MSI_DATA_DIR)\msimsi\ansi -i -d$@ *.idt
  59. !endif
  60. copy $(MSI_INTLDATA_DIR)\error.enu $(O)\error.idt
  61. copy $(MSI_INTLDATA_DIR)\actionte.enu $(O)\actionte.idt
  62. msidb.exe -f$(IDT_DIR) -i -d$@ error.idt actionte.idt
  63. copy $@ $(O)\inst1033.msi
  64. perl ..\instmsi.pl $@ Alpha,Intel ..\intl $(O)
  65. $(O)\instmsi.msi: $(O)\copymsi.msi
  66. copy $(O)\copymsi.msi $@
  67. $(BINPLACE_CMD)
  68. $(O)\jdate2.exe:
  69. copy $(INSTMSI_DIR)\jdate2.exe $@
  70. $(BINPLACE_CMD)
  71. $(O)\InstMsi1.sed : $(MAKEFILE)
  72. echo <<$(O)\InstMsi1.sed >>NUL
  73. [Version]
  74. Class=IEXPRESS
  75. SEDVersion=3
  76. [SourceFiles]
  77. MsiSourceFiles=$(MSI_BASE_TREE)
  78. CommonFiles=_NTPOSTBLD
  79. MsiSourceFilesDump=$(MSI_BASE_TREE)\Dump
  80. InstmsiSourceFiles=_NTPOSTBLD\$(ALT_PROJECT_TARGET)
  81. InstmsiSourceFilesDump=_NTPOSTBLD\$(ALT_PROJECT_TARGET)\Dump
  82. ShimDllSourceFiles=_NTPOSTBLD\idw
  83. <<KEEP
  84. $(O)\InstMsi2.sed : $(MAKEFILE)
  85. echo <<$(O)\InstMsi2.sed >>NUL
  86. [Options]
  87. CheckAdminRights=0
  88. PackagePurpose=InstallApp
  89. ShowInstallProgramWindow=0
  90. HideExtractAnimation=1
  91. UseLongFileName=0
  92. InsideCompressed=0
  93. CAB_FixedSize=0
  94. CAB_ResvCodeSigning=0
  95. RebootMode=N
  96. InstallPrompt=
  97. DisplayLicense=
  98. PostInstallCmd=<None>
  99. SourceFiles=SourceFiles
  100. VersionInfo=VersionSection
  101. AlwaysPropogateCmdExitCode=1
  102. <<KEEP
  103. $(O)\instmsi3.sed : $(MAKEFILE)
  104. echo <<$(O)\InstMsi3.sed >>NUL
  105. [MsiSourceFiles]
  106. !if "$(MSI_BUILD_UNICODE)"=="0"
  107. msi.dll=
  108. !endif
  109. msiexec.exe=
  110. msihnd.dll=
  111. msisip.dll=
  112. [CommonFiles]
  113. msimsg.dll=
  114. msimain.sdb=
  115. [MsiSourceFilesDump]
  116. msiinst.exe=
  117. [InstmsiSourceFiles]
  118. !if "$(MSI_BUILD_UNICODE)"=="1"
  119. msi.dll=
  120. msi.cat=
  121. msi.inf=
  122. !endif
  123. riched20.dll=
  124. usp10.dll=
  125. msls31.dll=
  126. shfolder.dll=
  127. instmsi.msi=
  128. imagehlp.dll=
  129. [InstmsiSourceFilesDump]
  130. cabinet.dll=
  131. mspatcha.dll=
  132. [ShimDllSourceFiles]
  133. !if "$(MSI_BUILD_UNICODE)"=="0"
  134. sdbapi.dll=
  135. !else
  136. sdbapiU.dll=
  137. !endif
  138. [VersionSection]
  139. FromFile=msiexec.exe
  140. OriginalFilename=Msi.dll,MsiHnd.dll,MsiExec.exe
  141. InternalName=InstMsi.exe
  142. FileDescription=Installer for the Windows Installer
  143. #These come msiexec.exe now.
  144. LegalCopyright=Copyright (c) Microsoft Corp. 2000
  145. !if "$(MSI_BUILD_UNICODE)"=="1"
  146. ProductName=Windows Installer - Unicode
  147. !else
  148. ProductName=Windows Installer
  149. !endif
  150. !if $(FREEBUILD)
  151. FileFlags=0
  152. !else
  153. FileFlags=1
  154. !endif
  155. ProductVersion=$(MSIRMJ).$(MSIRMM).$(MSIRUP).$(MSIRIN)
  156. FileVersion=$(MSIRMJ).$(MSIRMM).$(MSIRUP).$(MSIRIN)
  157. <<KEEP
  158. $(O)\instmsi.sed: $(O)\instmsi1.sed $(O)\instmsi2.sed $(O)\instmsi3.sed
  159. type $(O)\instmsi1.sed > $@
  160. type $(O)\instmsi3.sed >> $@
  161. type $(O)\instmsi2.sed >>$@
  162. echo FriendlyName=Installation of System Software Installer $(VERSION) >>$@
  163. echo TargetName=_NTPOSTBLD\$(ALT_PROJECT_TARGET)\InstMsi.exe >>$@
  164. echo AdminQuietInstCmd=msiinst.exe /i instmsi.msi REBOOT=REALLYSUPRESS MSIEXECREG=1 /m /q >>$@
  165. echo UserQuietInstCmd=msiinst.exe /i instmsi.msi REBOOT=REALLYSUPRESS MSIEXECREG=1 /m /q >>$@
  166. echo AppLaunched=msiinst.exe /i instmsi.msi MSIEXECREG=1 /m /qb+! >>$@
  167. $(BINPLACE_CMD)