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.

1835 lines
106 KiB

  1. Darwin Setup Development Notes for Testing Releases
  2. 00-12-29 eugend Bug 261198: On Win64, Darwin now removes keys in the 32-bit hive.
  3. 00-12-18 eugend Bug 152754: When installing 32-bit packages on Win64 we fix up hardcoded directory names
  4. that would land files belonging to 32-bit components into 64-bit binary directories.
  5. 00-12-18 eugend Bug 214525: On Win64, Intel property is set to the same ProcessorLevel value that
  6. GetSystemInfo API returns when called from a 32-bit process (currently 5,
  7. i.e. Pentium processor).
  8. 00-12-18 chetanp bug 146464: support rollback of assemblies across reboots.
  9. 00-12-18 mattwe Bug 261050: Migrate10CachedPackage API is now stubbed in to allow Office 10 setup
  10. on Whistler.
  11. 00-12-18 cnapier Bug 259080: fix assert in DebugDumpIxo
  12. 00-12-17 chetanp bug 217058: Added new DisableUserInstalls machine policy that will cause the following -
  13. 1> All our APIs currently search for product "visibility" in the order -
  14. per user managed, then per user non-managed, then per machine - Setting this policy will
  15. cause the APIs to ignore the per user managed and per user non-managed registration and
  16. only use the per machine information.
  17. 2> During an install, at the time of script execution, if the installation is being attempted
  18. as per user, then we will pop up an error message and abort the installation. This will be at
  19. the same place as where we currently we check that the current user is an admin if the install
  20. being attempted os for all users (So this will allow ample opportunity for a CA or such to muck
  21. with the ALLUSERS property).
  22. We will recommend that on TerminalServer in AppServer mode this policy be set.
  23. 00-12-16 bench Bug 253820: fix a compat problem with existing but poorly authored packages.
  24. We now tolerate invalid DefaultDir values in root rows of the Directory table.
  25. These errors were tolerated in 1.1, and many packages have these errors, so we continue
  26. to tolerate these errors for packages that don't require 1.5 Windows Installer.
  27. 00-12-16 bench Bugs 258778, 259265: fixed a couple of BVT/Setup/Boot breaks caused by the
  28. multiple user api changes.
  29. 00-12-16 mattwe Bug 146230: ODBC configuration for non-elevated installs now occurs in the
  30. impersonated custom action server, similarly to 32 bit configuration on 64
  31. bit machines.
  32. 00-12-16 mattwe Bug 188786: Our Inprocserver32 entries are now marked explicitly with the
  33. apartment threading model.
  34. 00-12-16 chetanp bug 198377: COM+ Fusion: WI prematurely uninstalls assembly shared across products if
  35. componentid is not same. We now enumerate through all the published descriptors for
  36. the assembly to check if any point to a installed component (no matter what the component id)
  37. before unpinning the assembly
  38. 00-12-16 cgouge Bug 239108: Impersonated custom action servers now grant interactive users COM
  39. execute rights.
  40. 00-12-16 cgouge Bug 227396: Install-mode check now works on Windows 2000.
  41. 00-12-15 cgouge Bug 212570: Orca installer now registeres new MergeMod CLSIDs.
  42. 00-12-15 cnapier Bug 169494: Adjust shortcut paths to user profile shell folders when ALLUSERS is
  43. changed in the UI sequence.
  44. 00-12-15 cgouge Bug 212570: Orca installer now registeres new MergeMod CLSIDs.
  45. 00-12-14 cnapier Checked in build 223 of msi.chm and msi.chi
  46. 00-12-14 mattwe Bug 146292: Internet downloads of cabinets are now also cleared from the
  47. cache when no longer needed
  48. 00-12-14 mattwe Bug 215380: We now put copies of InstMsi (unicode and ansi) in %_NTPOSTBLD%.
  49. They're named InstMsiA.exe and InstMsiW.exe
  50. 00-12-14 eugend Bugs 221770, 248662, 248663 & 248664: MsiGetComponentPath, MsiGetProductCode,
  51. MsiQueryProductState & MsiLocateComponent APIs had been modified as to handle
  52. products installed by other users.
  53. 00-12-14 cnapier Bug 256337: SAFER assert was firing on Win9X. The assert was disabled for non-Whistler platforms
  54. since SAFER isn't applicable to those platforms. The assert is still present on Whistler.
  55. 00-12-13 cgouge Bug 192809: UISequence custom actions now receive tokens with the same privileges sets as
  56. the client. Impersonated execute sequence actions still only receive tokens with
  57. privileges that were pre-enabled in the client.
  58. 00-12-13 mattwe Bug 214189: InstMsi now puts its temp files again in the windows\Installer sub-dir.
  59. Engine now only asserts if resolving source in exactly windows\installer, not subdirs.
  60. 00-12-13 chetanp Bug 213093: COM+ Fusion: Rollback on global assembly works inaccuratly in Multi-user scenario
  61. 00-12-12 cgouge Bug 199268: When installing from media, the actual media relative path is used even
  62. if the media contains an admin image with a path in the AdminProperties stream.
  63. (We register the path we know you have).
  64. 00-12-12 bench Bug 163146: we now handle a mismatch between the registered package code and the package
  65. code in the cached database. this mismatch can occur when installing one package
  66. then advertising another.
  67. 00-12-12 bench Bug 252656: move some calls to SAFER around to avoid allocating too many SAFER tokens at one
  68. time in multi-threaded scenarios.
  69. 00-12-12 mattwe Bug 252440: Crash in msi.dll after calling SRSetRestorePoint
  70. 00-12-11 chetanp Bug 146429: Isolated file with condition=false is still installed
  71. 00-12-11 cnapier Bug 238762: get msidb to work on downlevel platforms in GUI mode
  72. 00-12-11 cnapier Bug 180824: msizap shouldn't leave Installer keys in bad state when acl'ing for admin.
  73. Now msizap adds admin full control and ownership, but leaves permissions for system
  74. and everyone alone.
  75. 00-12-11 cnapier Bug 238789: move msimsp.exe to Patching folder in WI SDK
  76. 00-12-11 cnapier Bug 213286: Change product and package codes for orca, msival2, and SDK msi's.
  77. 00-12-11 cgouge Bug 219616: Source resolution dialog was not generating disk prompt correctly for
  78. media sources.
  79. 00-12-08 cnapier Checked in build 222 of msi.chm and msi.chi
  80. 00-12-07 cgouge Bug 146223: Reworked ICE30 to use parameter queries so that directory names with
  81. apostrophe's will not cause invalid query strings during validation.
  82. 00-12-07 cgouge Bug 240029: Prefix bug in msiregmv.
  83. 00-12-07 cgouge Bug 146516: Fixed problem with self-unreg of mergemod when the reg keys were
  84. already missing.
  85. 00-12-06 chetanp Bug 232103: remove cleanup code of class registration since its not needed for
  86. new per user component mgmt logic.
  87. 00-12-06 cgouge Bug 146515: Configuration of long strings in a CMSM would cause AV writing to log file
  88. during merge process.
  89. 00-12-06 cgouge Bug 227396: Detect per-user installs on TS when in install mode and block with new
  90. ship error 1730.
  91. 00-12-03 chetanp Bug 146375: Rename MsiURTAssemblySupport MsiNetAssemblySupport
  92. 00-12-03 mattwe Bug 146292: Flat files downloaded from URL sources are now deleted from
  93. the URL cache as soon as they're in place. (WININET::DeleteUrlCacheEntry)
  94. 00-12-02 cnapier Bug 238750: added version and copyright info to msimig.dll and msimig.exe
  95. 00-12-02 cnapier Bug 238802: moved copyright info to first line in msizap
  96. 00-12-02 cnapier Bug 192765: web bootstrap no longer uses private header
  97. 00-12-02 cnapier Bug 31791: Add mirroring support for BiDi dialogs on Win2K and greater
  98. 00-12-01 mattwe Bug 151680: Only enable SE_RESTORE_NAME and SE_TAKE_OWNERSHIP_NAME token
  99. privileges during restoration of failed installs (rollback.) This prevents
  100. gratuitous use of unnecessary privilege. (And associated auditing if
  101. turned on.)
  102. 00-12-01 chetanp Bug 168798: pvt Win32 assemblies support in WI. See text file attached to bug
  103. for details of the changes.
  104. 00-12-01 mattwe Bug 146390: System Restore on Whistler now uses nested checkpoints for
  105. installs.
  106. 00-12-01 mattwe Bug 245366: Cabinet files are now extracted from threads which correctly
  107. impersonate. Prevents files from being created with LocalSystem privileges.
  108. 00-12-01 cgouge Bug 218473: msidbCustomActionTypeHideTarget hides CustomActionData script field as
  109. well from log files (in addition to Target field)
  110. 00-12-01 cgouge Bug 222706. Orca now handles an invalid string in an integer column by showing an
  111. error messoge instead of silently corrupting the data.
  112. 00-12-01 cgouge Bug 148579, 185298. Fixed stall in custom action launch caused by service threading
  113. model. Simultaneously fixed CA server shutdown issue when the apartment is kept
  114. alive across install sessions.
  115. 00-12-01 cnapier Bug 245583: fixed SelfReg when ALLUSERS != 1. Problem was caused by the SAFER
  116. implementation.
  117. 00-12-01 rahulth Bug 210402: MsiProcessAdvertiseScript[A/W] are now public functions.
  118. Also, MsiProcessAdvertiseScript[A/W], MsiAdvertiseProduct[A/W],
  119. MsiAdvertiseScript[A/W], MsiGetProductInfoFromScript[A/W] and
  120. MsiIsProductElevated[A/W] will now only run on Win2K and higher platforms.
  121. For lower platforms, they return ERROR_CALL_NOT_IMPLEMENTED.
  122. 00-11-30 cgouge Bug 210919: Client-side DLL custom actions now use the exact environment
  123. block used by the client. The block is passed to the service and used during
  124. process creation. Multiple client contexts with different users now gives
  125. each server the correct block.
  126. 00-11-30 bench Bug 241687: as part of allowing non-admins to run the 2nd phase of ForceReboot installs,
  127. we are now prepending our RunOnce value names with "MSI_". the shell will run these commands
  128. even when the user is a non-admin.
  129. 00-11-30 bench Bug 244739: added MSICHECKCRCS and FASTOEM to the list of properties that can be passed to the service
  130. even when the EnableUserControl policy is not set.
  131. 00-11-29 mattwe Bug 146390: System Restore check-pointing is now enabled on Whistler, with
  132. the same feature set as our support on Millennium. No, your install has
  133. not hung, the check-pointing is slow. Restore team is working on perf,
  134. and on builds prior to 2407, you'll see a second blank-checkpoint
  135. created for the end of the install.
  136. 00-11-29 cgouge Bug 228782: Prefix bug in mergemod directory table merge.
  137. 00-11-29 chetanp Bug 244331: Fix Assembly code to honour File_Mainfest column, when non-null (as opposed
  138. to always treating the key path of the component as the manifest file for the assembly.
  139. 00-11-29 chetanp Bug 146375: Define 2 new properties - MsiURTAssemblySupport and MsiWin32AssemblySupport
  140. set to the file versions of the underlying infrastructure files fusion.dll and sxs.dll resp.
  141. On m/cs that do not have the corr. support these properties will remain unset.
  142. 00-11-29 cnapier Bug 224383: PSDK sample scrub of wireadme.txt
  143. 00-11-29 bench Bug 162066: don't set DISABLEMEDIA during admin install in some cases.
  144. 00-11-27 cnapier Checked in build 221 of msi.chm, msi.chi
  145. 00-11-27 cnapier Bug 143544: Improve Basic UI cancel button. If the cancel button is clicked,
  146. the button is disabled (grayed-out) and the banner text "Canceling..." is
  147. displayed.
  148. 00-11-27 mattwe Bug 206040: Installer auto-retries when downloading a file from URL fails.
  149. Bug 146391: Installer now sends "keep alive" messages during database
  150. caching from a URL, and downloading individual files.
  151. 00-11-27 bench Bug 146227: added support for patching fusion assemblies.
  152. 00-11-22 cnapier Bug 146566: Fixed costing of MsiSetFeatureState with Feature="ALL"
  153. 00-11-22 chetanp Bug 184661: AD: Once a failure to install an applicaiton is fixed, the icon is always incorrect.
  154. 00-11-22 cnapier Bug 163155: Implement Msi / Safer interaction. Windows Installer will call
  155. SAFER to determine if a package, patch, or transform is fully trusted. Only
  156. fully trusted ("unrestricted") objects can be installed.
  157. 00-11-20 chetanp Bug 198439: Fixed shared component/Shared dll logic for Win9x
  158. 00-11-15 eugend Bug 233716: Darwin client reports mem. leaks when closed via ExitProcess.
  159. 00-11-15 cnapier Checked in build 220 of msi.chm, msi.chi
  160. 00-11-15 cnapier bug 146479 - MsiFiler fails when related package is on system.
  161. 00-11-15 cnapier bug 217744 - MsiOpenPackageEx API
  162. 00-11-15 cnapier bug 146201 - do not reboot if creating an advertise script
  163. 00-11-15 cnapier bugs 228805, 228806 - fixed Prefix issues in setup.exe web bootstrap tool
  164. 00-11-14 cnapier bug 225495 - fixed misspellings in License Agreement dialog in UISample and MSI SDK
  165. 00-11-14 cgouge Bug 222748: MergeMod backwards compatibility of Merge function during
  166. merge of table with a merge conflict.
  167. 00-11-14 eugend Bug 217795 & 220325: No more assertions if Control table is missing and
  168. VirtualMemory property is set correctly on Win64 machines.
  169. 00-11-14 mattwe We now build the SDK automatically in the builds. The post build
  170. must be run to finish.
  171. Bug 191120: MsiSpy has been removed from normal builds.
  172. 00-11-14 eugend Bug 203377: ship Darwin stopped reporting info message 2898 as
  173. "internal error 2898" in the log file.
  174. 00-11-14 cgouge Bug 172261: Added MSM 1.5 constants to mergemod.h
  175. 00-11-14 cgouge Bug 175567: At EXE CA that AVs does not trigger any Windows error dialogs.
  176. 00-11-13 eugend Bug 185528: Cabinet extraction doesn't fail anymore when a CD drive returns
  177. invalid data, but retries the operation.
  178. 00-11-13 eugend Bug 146363: Full UI scales now when larger/smaller monitor fonts are in use.
  179. 00-11-09 mattwe Bug 146541, 213456, 211779: The current fix is to simply use the same
  180. environment block for both elevated and impersonated custom actions.
  181. The block will start as the system's. To this, everything from the
  182. user's environment will be added EXCEPT the path. This ultimately
  183. results that the temp will always be the user's, and the path will
  184. always be the machine's.
  185. 00-11-09 mattwe Bug 181120: Fixed the console window that appeared running InstMsi in
  186. yet another new and exciting way. This appears to have finally
  187. given us the "old" behavior.
  188. 00-11-09 cnapier Checked in build 219 of msi.chm, msi.chi
  189. 00-11-08 cgouge Bug 146564: implemented detection of custom action stack corruption
  190. in ship builds. A message is sent to debug output when a problem is
  191. detected.
  192. 00-11-08 mattwe Bug 220353: InstMsi now correctly builds incrementally. You should
  193. be able to nmake /f %_NTPOSTBLD%\instmsi\[ansi | unicode]\instmsi.mak
  194. directly without running msi.cmd
  195. 00-11-08 mattwe Bug 204570: MsiExec /regserver now creates description for service
  196. on Windows 2000 and later versions of NT
  197. 00-11-06 cgouge Bug 129548: implemented non-secure transform migration during Win9X upgrades
  198. for non-profile scenarios where apps move from per-machine to per-user.
  199. 00-11-06 bench Bug 146334: fix intermittent crash during ForceReboot with /L*V!.
  200. 00-11-06 cgouge Bug 146484: Orca would get confused with read-only files and the MRU list.
  201. 00-11-02 cnapier Checked in build 218 of msi.chm, msi.chi
  202. 00-11-02 cnapier Checked in build 217 of msi.chm, msi.chi
  203. 00-10-31 cgouge Bug 205994: MsiRegMv creates the SharedDll key if one does not exist.
  204. 00-10-31 chetanp bug 198439 - revert back cfg. data layout on Win9x to 1.1/1.2 format
  205. 00-10-31 mattwe Bug 181120: Fixed InstMsi console window that appeared
  206. 00-10-31 cnapier Bug 146397: MsiAdvertiseProductEx API for architecture simulation during
  207. advertise script creation
  208. 00-10-31 cnapier Removed PatchWiz Src from SDK. Added MSI 1.5 Beta 1 SDK batch file
  209. to %_NTTREE%\admin\darwin\src\sdk
  210. 00-10-31 bench Bug 211736: fix problem applying overlapping patches to an admin image.
  211. 00-10-28 cgouge Bug 146649: MSI CA manager now ensures appropriate process ACLs before launching CA server
  212. for both client and service actions.
  213. 00-10-27 cgouge Bug 205551: Fixed big memory leak in Orca and tweaked column-width code to support new
  214. storage format.
  215. 00-10-27 cgouge Bug 199772: Immediate custom actions are back to being denied elevation rights.
  216. 00-10-27 mattwe Bug 146330: InstMsi now places its temporary files in a subdirectory from the temp folder,
  217. and secures it with the same DACL as the windows\installer folder. InstMsi should now
  218. be ready for test consumption on all platforms.
  219. 00-10-26 cgouge Bug 205563: Win9X upgrade migration now handles the case where a user name is the same as
  220. the machine name when profiles are turned on.
  221. 00-10-25 cnapier MsiSpy no longer includes pdb files.
  222. 00-10-25 mattwe Bug 146330: InstMsi will now prompt for a reboot on Windows 2000 appropriately,
  223. Removed static linking to setupapi.dll
  224. 00-10-25 cnapier Bug 207156: fix msizap to actually zap the product from the Uninstall key
  225. (if no one else has the product installed)
  226. 00-10-24 cnapier Checked in build 216 of msi.chm, msi.chi -- this how now been declared the
  227. Windows Installer 1.5 Beta 1 build due to some technical content that needed
  228. to be changed prior to release
  229. 00-10-24 eugend Bug 146325: Darwin does not display drives that are hidden via system policy.
  230. 00-10-23 cnapier Checked in build 215 of msi.chm, msi.chi -- first Beta 2 build
  231. 00-10-23 cnapier Bug 195470: Better error message for case where registered product language differs from
  232. package language (happens in recache case)
  233. 00-10-23 cgouge Bug 146624: Client CAs now call AllowSetForegroundWindow to pass foreground rights to
  234. the CA server before invoking the CA.
  235. 00-10-23 cnapier Bug 210375: Setup.Exe internet download bootstrap now takes advantage of the instmsi
  236. delay reboot option (instmsi /c:"msiinst /delayreboot") and loads msi.dll from the
  237. registered Windows Installer folder now written to HKLM\SW\MS\Windows\CV\Installer
  238. InstallerLocation: REG_SZ
  239. 00-10-23 cnapier Bug 146616: Automated MsiGetFileSignatureInformation API (it's now the FileSignatureInfo
  240. method of the Installer object)
  241. 00-10-20 eugend Bug 138538: I've uncommented the 2 FailAssertMsg calls in IMEMORY.CPP.
  242. 00-10-20 cgouge Bug 198943, 192292. Prefix fixes in migration.
  243. 00-10-19 cnapier Bug 157550: Support for Null DestFolder in DuplicateFiles table
  244. 00-10-19 chetanp Bug 175378: We now do not uninstall the files in a COM+ or URT assembly ourselves
  245. Instead we rely on the fusion interface to do this for us.
  246. 00-10-19 chetanp Bug 186912: we have stopped using the logo3 guid for darwinized shortcuts
  247. 00-10-19 chetanp Bug 208456: Darwin generates fatal error if attempting to repair broken assembly
  248. 00-10-19 chetanp Bug 146169: Prevent multiple closing of registry handles in RegKey object.
  249. 00-10-19 chetanp Bug 206805: Allow further enumerating of products via MSiEnumProducts even if
  250. we encountered a corrupt product code entry.
  251. 00-10-19 cgouge Bug 146500: trigger immediate TS reg propogation to current user after closing the
  252. registry window during an install. This prevents endless repair of shortcuts that
  253. verify HKCU keypaths until the next logon.
  254. 00-10-19 bench Bug 206811: fix multi-threaded access to global IMsiServices pointer.
  255. 00-10-19 eugend Bug 146153 again: Darwin is displaying the right message if it comes across a
  256. corrupt cabinet.
  257. 00-10-18 cgouge Bug 146477: Reboot call from the client to the service now authenticates using the
  258. correct COM impersonation token.
  259. 00-10-17 bench Bug 146311: the AFTERREBOOT property is now set from the In-Progress information
  260. rather than the RunOnce key.
  261. 00-10-17 bench Bug 146329: in our event log entry for failed component detection, we now include
  262. the actual resource (file, folder, regkey or regvalue) that we couldn't find.
  263. 00-10-16 cnapier Checked in build 214 of msi.chm, msi.chi. This is the Windows Installer 1.5 Beta
  264. 1 SDK release build.
  265. 00-10-16 cgouge 200235 - orca shadow table pane is now cleared when closing the database while a
  266. shadow table is active.
  267. 00-10-16 eugend Bug 194081: debug Darwin loads symbols only if it has a memory leak to report.
  268. 00-10-16 cnapier Checked in build 213 of msi.chm, msi.chi
  269. 00-10-13 mattwe Bug 146330: InstMsi will now install its main bits via an Exception INF on Windows 2000
  270. InstMsi will not run on Whistler
  271. 00-10-13 eugend Bug 185588 again: fixed an AV in ship builds and modified the process to build
  272. a .LIB file instead of a .DLL.
  273. 00-10-13 cnapier Checked in build 212 of msi.chm, msi.chi
  274. 00-10-11 cgouge Bug 202286: Orca data corruption on add of new row in localizable column.
  275. 00-10-11 cgouge Bug 199778: The MsiBreak environment variable is ignored for non-admin users (since they
  276. don't have permissions to debug a CA anyway.)
  277. 00-10-11 cgouge Bug 146179: Commit custom actions now elevate based on the isaElevate flag in the script,
  278. which is itself set based on the original scripts m_fRunScriptElevated member.
  279. 00-10-11 mattwe Bug 146330 (partial fix) Changes to InstMsi builds to create
  280. catalog and exception INF.
  281. 00-10-11 cgouge Bug 198942: Prefix: returning pointer to freed memory in CSIDPointer
  282. 00-10-11 cgouge Bug 197267: Better logging for execution scheduling options.
  283. 00-10-10 eugend Bug 185588: I've provided a workaround for the broken MsiGetShortcutTarget API in
  284. ANSI builds < 1.20.1710
  285. 00-10-10 cgouge Bug 192293. Prefix: leaked memory in writecfg.cpp.
  286. 00-10-10 cgouge Bug 194454. Fixed endless loop in source resolution no UI mode when media source is invalid.
  287. 00-10-09 cnapier Checked in build 211 of msi.chm, msi.chi
  288. 00-10-09 cgouge Bug 171016: Prefix: using uninitialized memory in migsecur.cpp
  289. 00-10-06 cnapier Checked in build 210 of msi.chm, msi.chi
  290. 00-10-06 eugend Bugs 181468: Listbox controls in Darwin UI can display horizontal scrollbars now.
  291. 00-10-04 cnapier Fixed building of msispy in order to properly create the type library.
  292. 00-10-03 cnapier Checked in build 209 of msi.chm, msi.chi
  293. 00-10-02 cnapier Bug 146647: add ICE76 to source depot
  294. 00-10-02 eugend Bugs 166442: SelectionTree control displays now icons when the control is authored
  295. to be displayed on a dialog run in reinstall mode.
  296. 00-10-02 cnapier Bugs 191416, 194810: fix ICE03 regression (194810) and fix ICE03 so as to not error on
  297. type 37 and 38 custom actions where the formatted Target column is treated as literal
  298. script text rather than formatted text
  299. 00-10-02 bench Bug 194988: MsiFiler now dynamically binds to MsiGetFileHash, so the tool will still work on
  300. Win2000 (with 1.1 Darwin). also the MsiFileHash table is not populated at all (even if the
  301. table exists) unless the -h option is supplied.
  302. 00-10-02 cgouge Bug 187505: Leaked Handle message is not posted when the CA is called from a dialog control
  303. event to prevent deadlocks in the message handler. The handles themselves are still closed.
  304. 00-10-02 cgouge Bug 146509: MsiRegMv no longer creates a backup hive during upgrade migration unless in a debug
  305. build with the -backup flag specified.
  306. 00-09-30 chetanp Bug 146127: Fixed registry limitation for inprogress key on Win9x, got psdk installation going.
  307. 00-09-30 chetanp Bug 164462: Changed multi-user component management rules to remove component if installed to
  308. the same location.
  309. 00-09-29 cnapier Bug 146149: update msicert for use with SDK -- new command line options for populating the MsiDigitalSignature
  310. and MsiDigitalCertificate tables. msicert -d {database} -m {media entry diskId} -c {digitally signed cabinet} [-H]
  311. 00-09-29 cnapier Bug 193877: fix uisample.msi to properly handle selection of Repair option in MMode
  312. 00-09-28 eugend Bug 146342 & 146607: two fairly minor full UI issues.
  313. 00-09-27 bench Bug 146105: added the MsiNTProductType, MsiNTSuiteBackOffice, MsiNTSuiteDataCenter,
  314. MsiNTSuiteEnterprise, MsiNTSuiteSmallBusiness, MsiNTSuiteSmallBusinessRestricted,
  315. and MsiNTSuitePersonal properties.
  316. 00-09-27 eugend Bug 146247: IOD (actually, the network connection) dialog has the correct
  317. text when browsing is disabled.
  318. 00-09-27 bench Bug 146589: MsiFiler will now optionally create the MsiFileHash table if it
  319. doesn't already exist.
  320. Also changed the command-line for msifiler so that every argument has its own switch
  321. 00-09-27 cnapier Update schema.log file in %sdxroot%\admin\darwin\data\schema.idt. This is the log of schema changes between
  322. Windows Installer versions that ships with the SDK
  323. 00-09-27 eugend Bug 146205: I've removed Wx86 code branches from the code.
  324. 00-09-26 cnapier All SDK files are now available in the darwin source tree. The SDK Msi package is built at the same time as
  325. all other packages (although some tweaks are still needed for postbuild).
  326. 00-09-22 bench Bug 182375: on Win2K and above, we call the GlobalMemoryStatusEx api, which gives
  327. more accurate information for the PhysicalMemory and VirtualMemory properties.
  328. 00-09-22 bench Bug 182386: we no longer set the following undocumented properties:
  329. MemoryBytes, TotalPageFile, TotalVirtualMB, TlsIndex, AvailablePageFile,
  330. AvailablePhysical, AvailableVirtual, TotalPhysical, TotalVirtual
  331. 00-09-21 cnapier Bug 185272: Fix setting of Intel property to include IA64 (backwards compat) and fix setting
  332. of Intel64 property to be dependent upon g_fWinNT64 rather than compilation as 64-bit
  333. 00-09-21 cnapier Bug 146632: Fix MsiSip problems on Win98 Gold due to bad version of ole32.dll (4.71)
  334. 00-09-20 bench Bug 146246: fix internal error when patch applied to sfc-protected or acl'ed file
  335. 00-09-20 bench Bug 146307: fix internal error when installing file to innaccessible folder
  336. 00-09-20 bench Bug 183364: we now properly handle a missing companion file when patching
  337. 00-09-20 cnapier Bug 146306: Fix AV in SetInstallLevel when package contains 0 components
  338. 00-09-19 cnapier Bug 146155: Allow for FILE_FLAG_DELETE_ON_CLOSE when using MsiRecordSetStream (requires specifying
  339. FILE_SHARE_DELETE whenever we attempt to open the file)
  340. 00-09-18 chetanp Bug 146139: Calling MsiProvideComponent with INSTALLMODE_NOSOURCERESOLUTION flag
  341. on local broken component incorrectly returns ERROR_INSTALL_FAILURE. Fixed to now
  342. behave similar to INSTALLMODE_NODETECTION and return ERROR_SUCCESS.
  343. 00-09-18 weiruc Bug 146365: ICEM12 added to validate module sequence tables. All custom actions
  344. and dialogs must have BaseAction and After values, all standard actions must
  345. have sequence numbers.
  346. Bug 146378: ICEM07 added error message to distinguish a non-existent file in the
  347. cab file from a badly sequence numbered one.
  348. Bug 146396 ICE23 uses MsiOpenDatabase which can not be remoted which causes the
  349. ice itself not being remoted. Instead of using a temporary database, instead use
  350. the existing one, but generate a random name for the temp table to avoid name
  351. collision. Also uses retry when the random number didn't work out.
  352. Bug 164784: ICE78 added to validate the AdvtUISequence table is either empty or
  353. does not exist.
  354. 00-09-18 cnapier Bug 176137: unchecking all features in UI still installs on NT
  355. 00-09-18 chetanp Bug 146167: msiexec /ju was not setting ALLUSERS property on command line
  356. 00-09-15 mattwe Bug 184285: mspatcha.dll is now on our SFC bypass exception list for Windows 2000
  357. 00-09-14 cnapier Bug 146198: Inaccurate error message when accessing '.Features' property of Windows Installer object
  358. 00-09-14 bench Bug 181813: we now correctly impersonate when determining if the user is an admin.
  359. This bug was exposed when source resolution was delayed until the point where the
  360. service elevates to perform a managed install.
  361. 00-09-14 cnapier Bug 181324: Install RFS shared component during reinstall if at least one feature is requesting a reinstall local
  362. or is explicitly going local
  363. 00-09-14 bench Bug 146580: when patching an admin image where the .msi is read-only, we take the read-only
  364. attribute off (along with hidden and system) temporarily while update the .msi and put the
  365. original attributes back when finished.
  366. 00-09-13 cnapier Bug 146316: A component is not disabled if the keypath is an unversioned file whose existing file on the system
  367. is modified (though file install versioning rules will still come into play)
  368. 00-09-13 cnapier Bug 172334: OutOfRbDiskSpace message updated. The cost in KB is now formatted according to CurrentUserLocale
  369. (i.e. instead of 1460000 KB, you'll get 1,460,000 KB on US or 1.460.000 KB on Italian systems)
  370. 00-09-13 mattwe Bug 146137: We no longer attempt to load SFC.DLL on NT4 (caused problems when another
  371. app installed a file by this name.)
  372. 00-09-13 chetanp Bug 177454: use ManagedLocalPackage instead of LocalPackage to register cached msi
  373. for user assigned apps.
  374. 00-09-12 bench Bug 182050: new error for general SfcInstallProtectedFiles failure that isn't for a
  375. particular file.
  376. 00-09-12 bench Bug 146486: we no longer complain about failing to remove a product during an upgrade
  377. if the error table happens to have 2 rows for the same existing product.
  378. 00-09-12 cgouge Bug 157268: MSI now filters return codes from custom action DLLs and scripts. Anything that is
  379. not an approved return code is mapped to failure instead of triggering some random result.
  380. 00-09-11 bench Bug 146122: the "installation completed successfully (or failed)" event log entry is
  381. now more specific about the type of install that happened. we have different entries for
  382. install, uninstall, advertise and configure.
  383. 00-09-11 bench Bug 30867: when an install is invoked as an uninstall (so that the installer knows its an
  384. uninstall at the beginning) the basic UI dialog says "Preparing to remove..." instead of
  385. "Preparing to install..."
  386. 00-09-11 bench Bug 166964: changed "failed to create temp file" error from debug to ship.
  387. 00-09-11 bench Bug 181624: we don't ignore failure to write extension registry goop any longer.
  388. 00-09-11 bench Bug 169413: some global const strings were not defined as const, causing some perf issues.
  389. 00-09-11 cnapier Bug 179330: Report user cancelled setup if user selects cancel during instmsi upgrade with internet
  390. download bootstrapper. Note that this is still blocked by bug 146117 where msiexec is returning
  391. ERROR_SUCCESS instead of ERROR_INSTALL_USEREXIT.
  392. 00-09-11 cgouge Bug 181309: Win9X failure in MergeMod MergeEx call due to wrong string API.
  393. 00-09-10 cgouge Bug 171012: Fix prefix bug, uninitialized memory in mergemod RegisterServer call.
  394. 00-09-10 cnapier Bug 146126: Fix crash in CMsiEngine::GetFileInstalledLocation if Component table is not loaded.
  395. 00-09-09 cgouge Bug 166969. Non-admin users could not use secure cached transforms because we were not elevating
  396. inside ixfSecureTransformCache when generating the temp filename in the \Installer directory.
  397. 00-09-09 cgouge Bug 171013, 171015, 171017, 171018: various PREFIX problems in migration security code.
  398. 00-09-09 cgouge Bug 171007: PREFIX memory leak in custom action server.
  399. 00-09-07 cnapier Bug 171498: MsiCreateAndVerifyInstallerDirectory works properly on Win9X. (No security verification
  400. is performed, but an attempt is made to create the directory. An already existing directory is
  401. still considered a success as well.)
  402. 00-09-01 mattwe Bug 176427: MsiInst in InstMsi.exe now re-sizes its process token
  403. buffers to correctly detect Admins.
  404. 00-09-01 cgouge Bug 167102: Fixed problem with new packagecode-only disk 1 verification where packages not at
  405. the root of the disk were not being validated correctly.
  406. 00-09-01 bench Bug 167847: fix bug in handing a missing cached patch, which prevented some roaming-user
  407. scenarios from working.
  408. 00-09-01 bench Bug 168364: use the proper package name when deploying a package while it is also installed
  409. on the local machine (using a different package name).
  410. 00-09-01 cnapier Bug 170063: Added functionality for executing instmsi when a Windows Installer upgrade is needed during the
  411. internet download setup exe execution.
  412. 00-08-31 cnapier Bug 146151: Ability to add new components to existing features during minor patches and upgrades.
  413. 00-08-31 cgouge Bug 146291: Don't use crypto DLL to generate CA connection to avoid holding the DLLs in use.
  414. This resulted in endless reboots when running Outlook after 9x->NT upgrades
  415. 00-08-31 cgouge Bug 154275: Preliminary MSI 9x to Whistler migration DLL to unblock home user.
  416. 00-08-31 mattwe Bug 159861: InstMsi on NT now calls MsiRegMv.exe to migrate data
  417. 00-08-31 eugend Bug 146153: Former debug errors 2351 & 2355 are ship 1334 & 1335 now.
  418. 00-08-31 mattwe 146199: Unicode InstMsi is now build with an MSI.DLL that doesn't use /robust IDL.
  419. This version of the msi.dll is binplaced to _NTTREE\instmsi\unicode.
  420. 00-08-31 eugend Bug 146312: latebind's DLL unbindings are in try-except statements.
  421. 00-08-31 eugend Bug 146494: Darwin writes now eventlog messages that have distinct IDs.
  422. 00-08-31 eugend Bug 174543: Bitmaps display with the correct colors now.
  423. 00-08-30 eugend Bug 146428: Clicking on the last item (partially) displayed in the SelectionTree
  424. control doesn't affect anymore the state of the item just below it.
  425. 00-08-30 eugend Bug 173668: Darwin doesn't log hidden properties anymore on the "MSI (c) (nn:nn): Switching to server:" line.
  426. 00-08-29 eugend Bug 148574: Automation doesn't hang anymore if the product key (in the registry)
  427. is longer than 38 characters, but returns ERROR_BAD_CONFIGURATION.
  428. 00-08-25 eugend Bug 146461: Comboboxes in full UI got vertical scrollbars now.
  429. 00-08-22 bench Bug 165354 - bumped the default timeout value for chk builds from 1 minute to 10 minutes.
  430. The timeout has been seen several times on the latest whistler builds, and 1 minute
  431. is just too short.
  432. 00-08-21 mattwe Bug 146330 - InstMsi will now run on Whistler/Windows 2000. Note that
  433. the regular build process no longer competely builds instmsi. In addition,
  434. you will have to run a post build step. (see later check-in notes.)
  435. This requires that the core msi files have been signed with a valid certificate
  436. accepted by SFC.
  437. 00-08-21 cgouge Bug 165275. Fix Orca crash when running a search with no selected table.
  438. 00-08-16 cnapier Bug 163152. Remove WinVerifyTrust call for digital signature policy. In Beta2, we will be using SAFER. The infrastructure
  439. remains in place; however, no policy decisions are ever made w.r.t. digital signatures. External cabinet digital signature checks
  440. are STILL performed.
  441. 00-08-15 eugend Bug 163009: CMsiBitmap::DoUnpackBitmap was passing an unaligned pointer
  442. to GDI32!CreateDIBitmap.
  443. 00-08-15 cgouge Bug 146549. The Custom Action Manager now detects leaked handles and posts an info
  444. message saying that handles have been leaked. The leaked handles are then closed.
  445. 00-08-14 cnapier Bug 100163, 146450, 146397, 153738. 64-bit package must be marked with schema 150. Mixed platfrom packages (Intel & Intel64)
  446. are explicitly not supported. Advt scripts for 64-bit packages fail when run on a 32-bit OS. Temp copy of Msi
  447. is deleted if MSI digital signature check fails.
  448. 00-08-11 cgouge Bug 157952. Dropped OpenThread API for Win9X/NT4 support, instead using a list of active custom actions and
  449. their associated suspended threads.
  450. 00-08-11 bench Bug 146404: fixed AV when writing to 0-byte wininit.ini file (Win9X only)
  451. 00-08-10 bench Bug 146614: added the Install.FileHash automation for the MsiFileHash api.
  452. 00-08-09 bench Bug 33731: properly fail when writing to a script file with no available disk space and no UI.
  453. 00-08-08 cgouge Bug 146578. Added pcp files to Orca file dialog filters. Added "Edit with Orca" verb to .pcp extension in Orca.Msi.
  454. 00-08-08 cgouge Bug 146298. InstMsi/CopyMsi will now fail on NT4 before SP3 with a launch condition error.
  455. 00-08-08 cgouge Bug 146103. Primary checkin for Orca transform viewing functionality.
  456. 00-08-07 cgouge Bug 146517. In CMSMs, the target of a configurable key item was being deleted if not prompted uses of the item
  457. existed, regardless of the attribute. The row is now marked for deletion only after the first prompted item with the
  458. no-orphan attribute is encountered. Later items may still flip the row back to not be deleted.
  459. 00-08-07 cgouge Bug 153857 (again), 148731, 146547 (again). Errors 2737, 2740, 2742, 2743 have now been dropped and new
  460. pure-ship errors 1720, 1721, 1722, and 1723 added. 1723 is now propogated correctly for remoted custom
  461. DLL custom actions.
  462. 00-08-05 cgouge Bug 146458, Explorer was caching source paths indefinitely for shortcut targets, resulting
  463. in invalid paths when RFS source validity changed. We now ignore the global cache for all
  464. descriptor based source resolutions. This is also a 1.1 QFE (WINSE 8803/8857)
  465. 00-08-04 cgouge Bug 148731, idbgCustomActionLoadLibrary prameters were backwards in the log file.
  466. 00-08-03 chetanp bug 146433 - Fixed MsiGetPatchInfo API
  467. 00-08-03 cgouge Bugs 153857, 146547: Debug Errors 2740, 2742, and 2743 "turned ship" and are now in error.enu
  468. these strings will need to be localized in the next LOC pass.
  469. 00-08-02 cnapier Fixed building of instmsi to properly import ActionText and Error tables. Added building of
  470. enumsi.res for localization drops.
  471. 00-08-01 chetanp bug 150107 - Fixed uninstall of an app does not remove HKCU registry keys if the app is installed for another user
  472. 00-08-01 cnapier Bug 152548: MsiApplyPatch Regression fix.
  473. 00-08-01 cnapier Bug 152897: Authoring errors for digital signatures for cabinets now reference proper table in which
  474. error occurs (idbgBadForeignKey).
  475. 00-07-31 eugend Bug 152813: Regression to fix for 10030.
  476. 00-07-26 eugend Bug 146218: I've removed the restriction of 1024 characters on the length
  477. of properties entered on the command line.
  478. 00-07-26 chetanp bug 146278 - COM <-> COM+ interop support work: Added support for IOD of COM
  479. assemblies when invoked by COM classic clients. Check specs for more info
  480. 00-07-26 bench Bug 146426: detect and resolve conflicts between patches that use the same DiskID and Sequence
  481. values. This fix is huge and greatly impacts the way patches and standalone transforms
  482. are applied.
  483. 00-07-25 cnapier Bug 146645: Send imtError instead of imtUser for LaunchCondition and CustomAction type 19 errors.
  484. 00-07-25 cnapier Bug 146652: Multiple digital signature eventlog messages with verbose information were
  485. added instead of relying on one. An admin can now pinpoint the reason why the failure
  486. occurred (invalid hash, rejected cert, etc.)
  487. 00-07-25 mattwe Bug NT 146100: After a suspended install, when a different user
  488. logs in and starts a new install, we now attempt to rollback the
  489. partial install for the other user. Previous behavior simply
  490. discarded all rollback info and continued.
  491. 00-07-24 eugend Bug 146114: hitting Esc during rollback has no effect now.
  492. 00-07-24 eugend Bug 146431: MsiZap supports now the new per-user registry data format.
  493. 00-07-24 dkays More prefix fixes.
  494. 00-07-21 mattwe Bug NT 146541: Custom Actions that are elevated will now only receive
  495. the system environment block, rather than the user's block.
  496. 00-07-20 cgouge Re-enable compiler warning 4701 - uninitialized local variable.
  497. 00-07-18 eugend Bug 11227: AV in handler when two successive dialogs have the TrackDiskSpace
  498. attribute set.
  499. 00-07-14 cgouge Bug 11070: Before launching a custom action server for a non-admin, we ensure that
  500. INTERACTIVE_RID group has SYNCHRONIZE access on the service process. Otherwise the CA
  501. server thinks the process is gone and shuts itself down.
  502. 00-07-11 chetanp Bug 10516: Added support for IOD for pvt and global COM+ assemblies. Check specs for more info
  503. 00-07-10 cgouge Bug 10714: When passed a package path on the command line (if the path can't be gleaned
  504. from registration) we convert the path to LFN during engine initialization to ensure
  505. the SourceList registration contains a path that can be used on sources where the SFN
  506. representations of the package are not the same.
  507. 00-07-10 eugend Bug 10030: We've stopped writing private properties into the log file,
  508. as well as all passwords from ServiceInstall table and the Target
  509. column for some custom actions.
  510. 00-07-10 eugend Bug 10511: AppSearch and CCPSearch actions have been modified
  511. as to be able to look for 64-bit apps in the registry.
  512. 00-07-10 cnapier Bug 10884: Digital Signatures. Redistribution of msisip.dll and msipol.dll via instmsi. Note that msipol.dll
  513. is conditioned for VersionNT >= 500 since it will only be distributed on Win2K. However, currently instmsi
  514. has a launch condition to block installs on Win2K. The Client-Side-Extension registry entries were added to
  515. the Registry table for instmis for the policy provider DLL. Additionally, there are two new in-script,
  516. non-impersonated custom actions for registering the Sip and Policy provider DLLs with crypto. The Sip registration
  517. custom action also removes the old structured storage Sip registration if present.
  518. 00-07-09 cnapier Bugs 11104, 11105, 11169, 11172: Digital Signatures. Reduced WinVerifyTrust calls on open of package to only
  519. occur when at least one of the following three conditions are true:
  520. 1. Product is unknown (not installed or advertised)
  521. 2. Local cached Msi is missing
  522. 3. Explicit recache specified (REINSTALLMODE option)
  523. Additionally, a WVT check will be performed when accessing the source Msi to extract an embedded cabinet (although
  524. no check is performing when validating the source)
  525. 00-07-08 chetanp Bug 11200: Added support for privatized win32 components
  526. 00-07-08 eugend Bug 9242: MsiEnumComponentCosts is a new API for getting the
  527. costs incurred per disk drives by the installation of a component.
  528. 00-07-07 cnapier Bug 11179: New API for creating and verifying the Installer directory -- MsiCreateAndVerifyInstallerDirectory.
  529. This is a private API that is used by the service when it verifies ACLs on the %systemroot%\Installer directory
  530. and by msipol if the directory is not present when the group policy client-side extension runs during winlogon.
  531. The OpenMsiCertStore API also makes use of this API call. MsiCreateAndVerifyInstallerDirectory requires that
  532. the callee be an admin or local system.
  533. 00-07-07 cnapier Bug 11178: New API for extracting the signer certificate and hash from a signed Msi, Mst, Msp, or Cab.
  534. MsiGetFileSignatureInformation. The hash extraction is optional. Provided for Admin policy UI in GPE
  535. and for tools like VSE, InstallShield to use in authoring the MsiDigitalSignature and MsiDigitalCertificate
  536. tables.
  537. 00-07-07 chetanp Bug 11071: Fixed code to prevent removal of any entity (like registry entries, self reg, ...)
  538. during uninstall of GUIDless components. This behaviour is now consistent with what is
  539. documented.
  540. 00-07-07 chetanp Bug 11199: Added code to redirect loading of fusion.dll via the shimming dll (mscoree.dll).
  541. We no longer need fusion.dll to be in the system folder any more.
  542. 00-07-06 t-shanj Bug 10785: Added ICE77. Verifies that the in-script CAs are scheduled between
  543. InstallInitialize and InstallFInalize in InstallExecuteSequence table and
  544. AdminExecuteSequence table.
  545. 00-07-06 cgouge Bug 11052: Switched to a 2-phase DLL custom action launch procedure. Phase 1 sets up the action in
  546. a suspended state, whereas phase 2 runs the action and retrieves the result. In between the phases
  547. the thread information is passed to the CA manager so the message context can correctly filter
  548. synchronous custom action messages to avoid deadlock.
  549. 00-06-30 cgouge Bug 10837: Fixed ICE46 crash on non-matched left bracket in property.
  550. 00-06-29 cnapier Bug 11139: Not calling WVT on all patches.
  551. 00-06-29 cnapier Bug 11171: Package signed with expired certificate still installed if InstallKnownPackages policy was 1.
  552. Fixed Msi_FinalPolicy to call Authenticode's final policy function so that the certificates in the chain
  553. are evaluated against the HKCU WVT registry policies dealing with expired and revoked certificates.
  554. 00-06-28 cgouge Bug 11079: Folded IMsmGetFiles into IMsmMerge2, since there is no longer a reason to maintain
  555. a seperate interface. the CLSID_MsmMerge object still implements IMsmGetFiles for backwards
  556. compatibility.
  557. 00-06-28 cgouge Bug 10874: All new CMSM errors now cause MergeEx to return E_FAIL, not S_FALSE. This is because
  558. these errors result in partial merges (unlike the other S_FALSE error cases). An error object is
  559. still added to the error enumerator.
  560. 00-06-28 cgouge Bug 11075: A leaked handle in mergemod was keeping the module in use during a CMSM merge. The
  561. handle is now closed.
  562. 00-06-27 cgouge Bug 10685: we now use only the package to validate Disk1 (the volume label is ignored) in
  563. both engine and execute resolution. We use the "same volume label" check that was earlier used
  564. for the special-case label registration to determine what media table entries constitute
  565. "physical disk 1".
  566. 00-06-27 bench Bug 11066: we now perform a FileHash check on companion files when the version check
  567. on the parent file tells us to install the companion file.
  568. 00-06-27 dkays Switch msiexec to use new comctl32 v6 controls for new shell UI look.
  569. 00-06-26 mattwe Bug 6500: During rollback, we now simply log errors and continue on. All error and
  570. warning dialogs are suppressed, and just sent to the log. The rollback will continue
  571. on, for better or worse.
  572. 00-06-23 bench Fixed Whistler bug 130132: crash when rolling back after ODBC failure
  573. 00-06-23 dkays Split msi.h into public and private header. Msi.w, msiquery.w, and msidefs.h can now
  574. be found in admin\published\msi. This is where these files should be modified and built
  575. from to update public\sdk\inc. Msi.w is split into public\sdk\inc\msi.h and
  576. public\internal\admin\inc\msip.h.
  577. 00-06-21 cnapier Bugs 11138: Digital Signature error now properly returned in the case of a file split across two cabinets.
  578. 00-06-20 cnapier Bugs 11100, 11102, 11103: Digital Signatures. Changed interpretation of MsiDigitalSignature table.
  579. The DigitalCertificate_ column is now non-nullable. When patching an admin image, the digital signature
  580. is removed from the MSI at the admin install point. New error messages for policy rejection of
  581. transforms (ERROR_INSTALL_TRANSFORM_REJECTED) and patches (ERROR_PATCH_PACKAGE_REJECTED). Additionally,
  582. two new event log templates were added with their own message Id's (EVENTLOG_TEMPLATE_WINVERIFYTRUST_UNAVAILABLE
  583. and EVENTLOG_TEMPLATE_DIGITAL_SIGNATURE).
  584. 00-06-20 mattwe Bug 10665: Only non-password protected screen savers are now disabled during long
  585. installs.
  586. 00-06-19 cgouge Bug 11044, orca command line processing was openining the merge module before determining the
  587. language and then complaining that the language was not known. Language detection was moved
  588. back before database open. (where it was before UI integration.)
  589. 00-06-19 cgouge Bug 11130, a CMSM temporary column was type INT, which limited bitfield masks to 16 bits. The
  590. column is now LONG (32 bits).
  591. 00-06-19 cgouge Bug 11070, incorrect parsing of escaped characters in Orca CMSM UI.
  592. 00-06-19 cgouge Bug 11058 part 2, fix button to be correctly enabled after the browse dialog returns.
  593. 00-06-18 bench Bug 10776: checked in version 1.97 of mspatcha.dll and mspatchc.dll. 1.97 contains
  594. a small backward compatibility fix over 1.96. namely in 1.97 the PATCH_OPTIONS_USE_BEST
  595. flag behaves the same way as it did in 1.94, where is behaved differently in 1.96.
  596. 00-06-18 bench Bugs 10950,11110: more patchwiz fixes from Office MOSE team.
  597. 00-06-18 bench Bugs 10817,11109,11111: integrated patchwiz fixes from Office MOSE team.
  598. 10817 deserves special note: you can now specify in the .pcp file to create smaller patches
  599. for large files, with the caveat that the patches won't work with 1.94 mspatch (which
  600. shipped with 1.1 MSI). see the bug for more info.
  601. 00-06-16 cgouge Fixed bug 11124. Removed ShellNew commands from _BadRegData table in CUB file.
  602. 00-06-16 cgouge Fixed bug 11125. Changed Shortcut.ShowCmd validation to 1;3;7
  603. 00-06-15 cnapier Bug 10963: MsiFiler fails if the call to MsiGetSourcePath fails.
  604. 00-06-14 cnapier Bug 11097: MsiOpenPackage now properly terminates the initialized message context if it fails to
  605. create an engine.
  606. 00-06-13 bench Bug 10996: in FindRelatedProducts, fix version comparison so that a version number with
  607. major version = 128 doesn't look negative.
  608. 00-06-13 cgouge Bug 10547: fix regression where the DisableMedia policy was being checked per-machine. It
  609. is actually a per-user policy.
  610. 00-06-13 cnapier Bugs 11073, 11089: fixed regression in error message for File Not Found. Fixed problem
  611. with msifiler and validation not being able to create an engine via MsiOpenPackage. The
  612. problem was due to a WinVerifyTrust call on the package (for security) and it failing because
  613. the SIP requires opening the storage for reading while denying write access and the package
  614. had been opened for writing. The fix was to short-circuit the WinVerifyTrust call such that
  615. an unsigned package opened for writing with the DWORD policy allowing unsigned packages can
  616. create an engine object.
  617. 00-06-12 cgouge Bug 11058: fix crash in orca when no path is specified for the module path path in the merge
  618. module dialog box
  619. -----------------------------
  620. RI to VBL04 for 1.50.2240
  621. -----------------------------
  622. 00-06-05 bench Bug 10384: file hashes for unversioned files can be stored in the MsiFileHash column
  623. and used during version checking to save unecessary file copies.
  624. 00-06-05 cnapier Bug 9920: Implemented digital signature infrastructure for verifying digital signatures on
  625. MSIs, MSTs, and MSPs during installation actions. Trust is determined by a set of policies
  626. that are evaluated by the MSI policy trust provider (identified via GUID in the WinVerifyTrust
  627. call).
  628. 00-06-02 dkays Integrate from vbl04 to private branch.
  629. 00-06-02 dkays Prefix bug fixes.
  630. 00-06-02 cgouge Bug 10547: fixed source validation on engine start to correctly respect Media and
  631. Browse policies for both initial installs and maint installs.
  632. 00-06-01 dkays Instmsi and various build changes. Remove uses of UMABSENTRY in sources.
  633. 00-06-01 eugend Bug 9953: Darwin checks now the corectness of CRC checksums of files that
  634. are marked as having a checksum.
  635. Bug 10299: Windows File Protection error 1931 is displayed only once, all
  636. subsequent occurences are recorded in the eventlog and in the log file.
  637. 00-06-01 cnapier Bug 9925: Enable digital signatures for cabinets via authoring of the MsiDigitalSignature
  638. and MsiDigitalCertificate tables.
  639. 00-05-30 cnapier Bug 10834: The custom action samples for the SDK (tutorial.dll, process.dll, remove.dll,
  640. and create.dll) now build in Source Depot. Additionally, the call to the rollback custom
  641. action was changed so that it proceeds the call to the deferred custom action (process.cpp)
  642. so as to be in agreement with the docs.
  643. 00-05-25 cgouge Bug 10945: we now create a Products\<pcode>\Usage key with read/write ACLs during
  644. product registration.
  645. 00-05-25 cgouge Bug 10895: Service no longer creates Products\Secure key on start.
  646. 00-05-24 chetanp Bug 10814: fixed COM+ assemblies installation support break.
  647. 00-05-24 cnapier Bug 9925: MsiCert.Exe tool to aid in testing of digital signatures for cabinets.
  648. The tool will populate the MsiDigitalCertificate and MsiDigitalSignature tables
  649. of an MSI package with information extracted from a signed cabinet.
  650. 00-05-22 cgouge Bug 10939: Fixed hang in msival2 caused by a buffer overrun inside the MSI cursor
  651. when a possible property reference in a formatted string was not terminated within
  652. 260 characters. The buffer is now resized appropriately.
  653. 00-05-19 eugend Touched bug 10507 again: I've fixed up the APIs called in the 32-bit process
  654. as to return %systemroot%\syswow64 instead of %systemroot%\system32.
  655. 00-05-19 eugend Bug 10806: the refcounting mechanism got extended as to handle 64 and 32-bit
  656. components. On Win64, for 32-bit components we update info in the 32-bit
  657. SharedDLLs key and for 64-bit, in the regular SharedDLLs key. On Win32, the
  658. behaviour is unaltered.
  659. 00-05-19 cgouge Bug 10972: Made ContextData, DefaultValue, DisplayName columns in ModuleConfiguration
  660. table localizable.
  661. 00-05-19 cgouge Bug 10879: Dropped MMI/MPI support from Orca.
  662. 00-05-18 cgouge Bug 10600: Added support for the Intel64 summary property to Orca.
  663. 00-05-18 cgouge Bug 10980: Fixed Multi-User Migration tool (msiregmv) to correctly migrate secure-full-path
  664. transforms. The transforms are registered in the mapping key under their full-paths to avoid
  665. potential name collisions.
  666. 00-05-17 cnapier Bug 10826: fixed the tools so that they have version resources and map to the build.
  667. Copyrights for the /? option and Help->About have been updated to include 2000.
  668. Added msimsp and msiloc to the build process and fixed the msispy builds to handle
  669. version resources.
  670. 00-05-17 bench Bug 10953: fixed patchwiz.dll to propertly compare 2 product versions. There
  671. should be no more bogus warnings about mismatched product versions when creating
  672. a patch.
  673. 00-05-17 cgouge Bug 10380: Fixed LastUsedSource checks to resolution to actually check only the
  674. last used source.
  675. 00-05-12 bench Bug 10954: Fixed source resolution code to work for msifiler.exe.
  676. 00-05-10 bench Bug 9321: second and final piece to this bug. Fixed RegisterProduct action to not
  677. resolve the source during a QFE patch. Fixed ixfFileCopy to skip source resolution
  678. when not copying or moving a file.
  679. 00-05-10 chetanp fixed bug 10898 - MsiGetShortcutTarget was failing
  680. (in ANSI builds) because of lack of null termination
  681. in read buffer.
  682. 00-05-09 cgouge Bug 10889: Multi-User migration now deletes old cached transforms on migration.
  683. It also tries to delete the SecureTransforms directory and the product GUID
  684. directory, but doesn't if other files exist there (such as cached icons).
  685. 00-05-09 cnapier Bug 10907: Fixed incorrect grammar in ICE61 error message.
  686. 00-05-09 cnapier Bug 10628: Fix crash in CMsiDatabase destructor with corrupted database
  687. 00-05-09 cgouge Bug 10823: Updated ICE45 _ReservedBits table to allow 64bit attribute in Component table.
  688. 00-05-09 cnapier Bug 10254: Refit of static text with dynamic properties upon repaint.
  689. 00-05-09 cnapier Bug 10296: SecureCustomProperties fixed to only allow the specific list. (Inccrrectly allowed
  690. all properties if value contained two semi-colons in a row or ended with a semi-colon)
  691. 00-05-08 cnapier Bug 10698: Fix for ICEs 35, 39, 45, 66, 73 -- cannot use NULL for output parameters for MSI
  692. API (MsiSummaryInfoGetProperty in particular). This was originally fixed but was not migrated to
  693. Source Depot.
  694. 00-05-08 cgouge Bug 10487: Updated ICE45 _ReservedBits table to allow Sunken and Enabled for all controls.
  695. 00-05-08 cgouge Bug 10745: Added new ICEM11 to verify that Configurable Merge Modules have
  696. ModuleConfiguration and ModuleSubstitution in the ModuleIgnoreTable table.
  697. 00-05-08 bench Bug 9876: if the ScheduleReboot or ForceReboot actions were run prior to the install
  698. failing or being cancelled, reboot would still happen. This has been fixed by
  699. clearing the appropriate flags upon an unsuccessful end to the install.
  700. 00-05-08 bench Bug 10871: applying a major-upgrade patch with REINSTALL=ALL used to register only
  701. the patch without registering the rest of the product, leaving the product is an
  702. unusable state. this is now fixed.
  703. 00-05-08 cgouge Bug 10897: Custom Action Server COM connection is now ACLed differently based on
  704. whether the client or server is the owning process.
  705. 00-05-07 bench Bug 10693: files that are patched but not pre-copied are now correctly bound by
  706. the BindImage action.
  707. 00-05-07 bench Bug 10649: fixed misleading log message when patching a file that doesn't
  708. need to be copied beforehand. We now describe whether the file will be patched
  709. or not in addition to whether it will be copied or not.
  710. 00-05-07 bench Bug 8340: it is no longer necessary to set SHORTFILENAMES manually when patching
  711. an admin image with short names. the installer does this for you.
  712. 00-05-05 cgouge Bug 10890: Fixed typo in ICE47 warning message.
  713. 00-05-04 cgouge Bug 10110: Added support to Orca for NULL data in nullable binary columns.
  714. 00-05-04 cgouge Bug 7455: Removed invalid (and broken) StartImpersonating call from ValidateSource
  715. on RFS components.
  716. 00-05-04 bench Bug 10910: we no longer prompt the user to close down an application holding a file
  717. in use if the file is actually RFS and the component is being uninstalled.
  718. 00-05-04 bench Bug 10831: RFS was improperly disallowed when running from an admin image just
  719. because the File table has a file marked as compressed. But in an admin image
  720. all files are uncompressed and RFS should always be allowed.
  721. 00-05-04 bench Bug 10472: fixed MsiApplyPatch api to close the patch storage when it is done
  722. with it, before invoking the patch install, which was preventing reboots from
  723. happening during a patch.
  724. 00-05-03 cgouge Bug 10816. Fix remoted out buffers to revert to old behavior despite change
  725. in underlying proxy code. We now use a temp output buffer when remoting.
  726. 00-05-03 cgouge Fix Smoke failure in mergemod relating to directory creation on
  727. systems with FAT drives.
  728. 00-05-03 cgouge Added support for 64bit directory properties to MergeMod.
  729. -----------------------------
  730. RI to VBL04 for 1.50.2228
  731. -----------------------------
  732. 00-05-09 eugend Fixed bugs# 10914 & 10629. 10629: RegCreateKeyExW API works now OK
  733. on Win64 so that I've removed our own MsiRegCreateKeyEx workaround.
  734. 10914: 64-bit Windows' Wow6432KeyValue special registry value was
  735. causing us not to remove product publishing information.
  736. 00-04-29 chetanp Bug fixes for Multi-user changes. (10891, 10893)
  737. 00-04-30 cgouge Tweaks to 1.5 Migration Tool. Removed debug spooge, turned off transform deletion,
  738. fixed owners of keys (bug 10887), switched cached patch and product registration
  739. to full path, make backup of hive in Windows folder.
  740. 00-04-29 chetanp Multi-user changes. See http://dartools/dardev/specs/multi user(design).htm for
  741. schema and functionality changes. There are a few pieces of functionality
  742. that is missing for this check in
  743. 1> The secure transforms as stil not cached per user. We still work the way
  744. we did before.
  745. 2> The "Usage" key is not being ACLed to allow everyone read write (though
  746. it is being migrated this way, so if it already exists or if the user is
  747. an admin, you will see the feature usage counts being updated)
  748. 3> The component management code works off the particular user's view for
  749. component management instead of the global view (see shared component logic
  750. section in specs). What this means is that an uninstallation will still remove
  751. the file and machine data for a shared component installation even if there are
  752. other users that are clients of the installation. However, if users install to
  753. different locations, it works.
  754. 4> The external API MsiGetPatchInfo is broken because of the multiuser changes.
  755. However, internally all patching has been rewired for the change. So all patch
  756. stuff should work.
  757. 5> We still register the product information under the Uninstall key as well. While
  758. this would be needed for legacy OSes, we will get ARP to go through us for all MSI
  759. apps, so that we dont do this registration on Whistler.
  760. 00-04-29 bench Bug 9321: first set of changes to delay source resolution as far as possible. This
  761. will benefit patch application by not requiring the original source to apply a patch
  762. if the source is truly not required.
  763. 00-04-29 cgouge Main checkin for Multi-User Migration tool. (MsiRegMv.exe)
  764. 00-04-29 eugend InstallODBC and RemoveODBC actions had been modified to handle
  765. 64-bit components. Bug # 10508 tracks this.
  766. 00-04-28 cnapier Bug 9921: Implemented MSI SIP plug in. MSIs, MSMs, MSTs, and MSPs
  767. can now be signed.
  768. 00-04-28 eugend RegisterTypelib and SetODBCFolders actions had been modified to handle
  769. 64-bit components. Bugs # 10506 & 10507 track this. I've fixed bug# 10614:
  770. on 64-bit machines, 32-bit 'Program Files' and 'Common Files' folders are
  771. now retrieved correctly.
  772. For debugging API calls that are remotely executed in the custom action server,
  773. I've added the functionality that checks if 'J' character is set in _MSI_TEST
  774. env. var. and if so, and the build is debug, the APIs are remoted.
  775. 00-04-28 dkays Initial prefix bug fixes.
  776. 00-04-27 bench Bug 10878: fixed misuse of the MsiEnumPatches api. The bug
  777. caused some patches using more than 1 set of transforms
  778. (2 transforms in a set) to be ignored after first-application.
  779. These patches were also ignored during uninstall and the patch
  780. registration became orphaned, which prevented further installs
  781. of that product (with a ERROR_INSTALL_PACKAGE_REJECTED error)
  782. 00-04-22 dkays Precompiled header for src\engine. Currently used for the src\inc files.
  783. Could be further enhanced to pull in engine header files. Cuts about 2/3
  784. of the compile time off of the engine build.
  785. 00-04-20 chetanp Added COM+ 2.0 support for installation/ reinstallation/ uninstallation of
  786. COM+ packages. Added indirection of key paths to COM+ components.
  787. Renamed assembly tables to MsiAssembly and MsiAssemblyName. Works with
  788. fusion.dll version 5.60.2208.0.
  789. 00-04-20 dkays Changed version.h to pick up nt build number for minor version number.
  790. Files msiver.h and vertmpl.txt removed, verdate.h is no longer generated.
  791. 00-04-20 eugend Fixed bug 10502, 10503 & 10504: [Un]PublishComponent, [Un]PublishFeature
  792. and PublishProduct actions have been modified as to handle 64-bit
  793. components properly.
  794. 00-04-17 cgouge Bug 10746,10747: Added Orca support for Configurable Merge Modules (both UI
  795. and command line).
  796. 00-04-17 cgouge Bug 10408: Main checkin for Configurable Merge Modules. See the dev spec
  797. for details
  798. 00-04-14 cgouge Bug 10300: reworked our impersonation/elevation system to solve several
  799. problems mentioned in the bug. This includes problems with context switching
  800. in client engines, mixed impersonation contexts when multiple users are
  801. connected to the service simultaneously, and the addition of some additional
  802. debug checks to track down mismatched impersonation calls. Note that
  803. StartImpersonating and StopImpersonating are now deprecated. Use the
  804. CImpersonate class instead for all new code.
  805. 00-04-13 bench Bug 10813: fixed patching problem where a full-file patch would
  806. not "take" after a binary patch was applied against the same file.
  807. We now ignore patches that are older than the current full-file,
  808. using the sequence numbers from the File and Patch tables to make
  809. this determination.
  810. 00-04-13 bench Bugs 10776, 10784: updated mspatcha.dll in the 1.2
  811. redistributable to version 1.96. This new version can
  812. accept new types of patches, so this build now accepts
  813. .msps with engine type "2", which would be used to indicate
  814. .msps that use the new patches.
  815. 00-04-11 eugend Fixed bug 10500 & 10501: RegisterUser and RegisterProduct action have
  816. been modified as to handle 64-bit components properly.
  817. 00-04-11 eugend Fixed bug 10686: If the OS >= W2K, the OS' memory allocator is used
  818. instead of Office's.
  819. 00-04-11 eugend Fixed bug 10832: 64-bit Darwin is able now to handle cabinets stored as
  820. streams in the package.
  821. 00-04-04 cnapier Fixed bug 10819. Removed build spooge from checked build.
  822. If an install, uninstall, etc. is successful and no logging policy is set
  823. and logging isn't enabled, then there should be no output to the debugger
  824. or to debugmon. The requisite policy setting is the DEBUG policy in HKLM.
  825. Set to 1 to turn on.
  826. 00-04-03 bench Fixed bug 9987: both 32-bit and 64-bit builds use the latest fdi.h, which
  827. allows the 32-bit build to now handle file-uncompression on Win64 correctly.
  828. -----------------------------
  829. Release 1.1.1529
  830. -----------------------------
  831. 00-03-28 cnapier Fixed bug 8801. RFS features are now patched
  832. correctly so that 2 uninstalls are not required. RFS is
  833. not available in the UI for a feature with patched or
  834. compressed components.
  835. 00-03-28 cnapier Fixed bug 10703. Localization. Checked in THA
  836. Millennium localization drop.
  837. 00-03-28 cnapier Fixed bug 10703. Localization. Checked in
  838. Vietnamese drop of Millennium localization from Redmond.
  839. 00-03-27 mattwe 10598: updated autoexec.bat processing to accept
  840. lines beginning with @, and to concatenate
  841. appending/pre-pending variables with %variable%
  842. to avoid clobbering existing values.
  843. 00-03-23 cnapier Fixed bug 10703. 6 more Ireland languages checked
  844. in. CAT, EUQ, HRV, ROM, SKY, SLV.
  845. 00-03-23 eugend I've modified the build process as to build
  846. Profile[W] binaries that work with IceCAP 4.2 So far they
  847. were built for IceCAP 3.6. The affected files are:
  848. - <darwin root>\Tools\Inc\ICECAP.H - new file
  849. - <darwin root>\Tools\Bin\X86\MSVCRT.DLL - replaced
  850. - <darwin root>\Tools\Lib\X86\MSVCRT.LIB - replaced
  851. - <darwin root>\Tools\Lib\X86\ICECAP.LIB - new file
  852. - <darwin root>\Src\MAKEFILE - modified
  853. - <darwin root>\Src\Inc\COMMON.H - modified
  854. 00-03-22 cnapier Fixed bug 10703. Localization. Checked in fix to
  855. mislocalization of RegisterProgIdInfo in ESN
  856. ActionText table.
  857. 00-03-22 eugend Fixed bugs # 10496, 10497, 10498 and 10499:
  858. RegisterClassInfo, RegisterExtensionInfo, RegisterProgIdInfo
  859. and RegisterMIMEInfo actions had been modified as to
  860. handle registrations for 64-bit components.
  861. 00-03-22 mattwe Bug 10531: Moved IPROPNAME_CUSTOMACTIONDATA into msidefs.h
  862. from msiquery.cpp and updated custom action
  863. samples in src\samples to use it.
  864. -----------------------------
  865. Release 1.1.1522
  866. -----------------------------
  867. 00-03-21 cnapier Fixed bug 10734. Handler. If in reduced or full UI
  868. mode but no dialogs are up, the handler returns the
  869. parent window as specified by the MsiSetInternalUI
  870. call. (Initially, the value is 0 for desktop).
  871. 00-03-21 cnapier Fixed bug 10703. Localization. Millennium
  872. localization drop of 16 Ireland languages (CSY, DAN, ELL,
  873. ESN, FIN, FRA, HUN, ITA, NLD, NOR, PLK, PTB, PTG, RUS,
  874. SVE, TRK)
  875. 00-03-21 bench Fixed bug 10661: we no longer require a reboot to clean up
  876. our files (.msi, .mst, .msp, icons) after an uninstall.
  877. Our sequence of steps was juggled to attempt the deletion
  878. of these files after we have let them go. This was a problem
  879. on Millennium because the System Restore feature doesn't work
  880. when there are pending delete/rename-after-reboot operations.
  881. 00-03-17 cnapier Fixed bug 10256 (forgot to check in to Whistler).
  882. Fixed the formatting issues in the
  883. sample source code and made
  884. the MSI API calls use
  885. explicit W versions.
  886. -----------------------------
  887. Release 1.1.1515
  888. -----------------------------
  889. 00-03-14 eugend Fixed bug # 10505: BindImage action had been
  890. modified for 64-bit NT.
  891. 00-03-13 cnapier Fixed bugs 10254, 10713. Handler. Static text
  892. controls with dynamic properties as their text are always
  893. re-fitted on paint. No more FormatText calls on
  894. errors filterd by the handler's message handler. These
  895. errors have already been formatted prior to sending
  896. them to the handler.
  897. 00-03-13 cnapier Fixed bug 10256. Fixed the formatting issues in the
  898. sample source code and made the MSI API calls use
  899. explicit W versions.
  900. 00-03-10 cnapier Fixed bug 10698 (again.) This time, the problem was
  901. in the ICE cub files. Output buffers cannot be NULL.
  902. Affected function call was MsiSummaryInfoGetProperty
  903. used by ICEs 35, 39, 45, 66, and 73.
  904. 00-03-10 cnapier Fixed bug 10717. Changed BugBug comment in
  905. CActionThreadData::RunThread() to plain comment (must support
  906. backward compatibility).
  907. 00-03-10 cnapier Fixed bug 10698. MsiDatabaseIsTablePersistent idl
  908. definition fixed to be [in, unique, string]
  909. (originally was [in]). Additionally, all [in, string]
  910. references were changed to be [in, unique, string]. Now
  911. MsiDatabaseIsTablePersistent is remoted correctly.
  912. 00-03-09 bench Fixed bug 10574 (again): new fix addresses some
  913. security problems experienced by non-admin users, and
  914. handles multiple patches to the same file.
  915. 00-03-09 eugend Fixed bug # 10664: MsiRegCreateKeyEx function now
  916. creates the right key, so that RegOpenKeyEx will be
  917. able to open it.
  918. -----------------------------
  919. Release 1.1.1508
  920. -----------------------------
  921. 00-03-07 cnapier Localization. First drop of Millennium localization
  922. pass checked in. Redmond-based languages -- ARA,
  923. CHS, CHT, DEU, HEB, JPN, and KOR. This includes updates
  924. to current strings plus InstallSFPCatalog,
  925. RegisterProgIdInfo, SR error messages (Installed, Configured,
  926. Removed).
  927. 00-03-06 cnapier Fixed bug 10640. Removed fDBCS = fFalse as default
  928. argument for AllocateString. Fixed all instances of
  929. function calls to AllocateString. If in doubt, we
  930. default to using fDBCS=fTrue to guarantee that we
  931. handle DBCS characters appropriately. This means we have
  932. a perf hit on ANSI (separate bug opened on this). On
  933. UNICODE, the fDBCS argument is ignored.
  934. -----------------------------
  935. Release 1.1.1501
  936. -----------------------------
  937. 00-02-29 eugend Fixed bug # 10663: On Millenium Darwin is no longer
  938. recording the restore points if it is running in
  939. FASTOEM mode.
  940. 00-02-29 eugend Fixed bug # 10416: WriteRegistryValues and
  941. RemoveRegistryValues actions had been modified as to work
  942. properly on 64-bit OS-es.
  943. 00-02-28 cnapier Fixed bug 10667. Validation. ICE76 -- new ICE to
  944. validate that files with SFP catalogs are not listed
  945. in the BindImage table. This ICE is in the full and
  946. merge module validation suites.
  947. 00-02-25 eugend Fixed bug # 10652: from now on, whenever a product
  948. changes state from advertised into installed, the
  949. string "Configured XYZ" will be recorded in PCHealth's
  950. UI, instead of "Installed XZY".
  951. 00-02-24 cnapier Fixed bug 9843. It is now possible to query the
  952. _Streams and _Storages tables multiple times (and across
  953. threads). Originally if you wanted to views on the
  954. _Streams table, you had to open view, close view,
  955. open view, close view. It's now possible to open view,
  956. open view, close view, close view.
  957. 00-02-23 bench Fixed bug 10574: to handle SFP protected files, when
  958. copying a file then patching it, we now copy that
  959. file to an intermediate location, then patch the file
  960. and copy it back to the original location. This
  961. ensures that the first and only time the original file is
  962. overwritten, it is done so with a fully updated file,
  963. and not an intermediate, unpatched file.
  964. -----------------------------
  965. Release 1.1.1423
  966. -----------------------------
  967. 00-02-22 bench Fixed bug 10618: swapped the order of the PatchFiles
  968. and DuplicateFiles actions in the recommended
  969. sequence in our SDK .msi files. PatchFiles should come
  970. first, but wasn't in the previous recommended sequence.
  971. 00-02-21 mattwe bug 10241. The CSIDPointer class needed its default
  972. copy protected, and a new constructor for SID* to
  973. avoid temporary object creation that might over-free
  974. a contained SID.
  975. 00-02-18 cnapier Fixed bug 10397. An immediate custom action can now
  976. call MsiDoAction or DoAction on a custom action that
  977. is in the same binary stream as it is.
  978. 00-02-18 cnapier Fixed bug 10437. Evalcom.msm and Mergemod.msm now
  979. pass the Merge Module validation suite as best they
  980. can. Remaining problem is due to bug #10626 scheduled
  981. to be fixed later.
  982. 00-02-18 cnapier Fixed bug 10252. Updated msitool.hlp to include
  983. msizap in the overview and remove the Spy Automation
  984. interface link from the overview.
  985. 00-02-17 cnapier Fixed bug 10389. Added new SFPCatalog Cost Adjuster
  986. for costing SFPCatalogs. This cost adjuster creates
  987. a "dummy" shared component to represent all catalog
  988. file cost.
  989. 00-02-16 cgouge Bug 10612. Memory allocator was very confused
  990. because the page size on Win64 is 8K and it was expecting
  991. standard 4K x86 pages.
  992. 00-02-16 cgouge Bug 10566. Fixed a problem in source resolution
  993. where the service was caching volume labels across calls
  994. to the source dialog in the client. This resulted in
  995. the service incorrectly registering the last used
  996. source disk id and thus rejecting the disk even if it is
  997. correct.
  998. 00-02-15 eugend Fixed bug # 10415: The new System64Folder,
  999. ProgramFiles64Folder, CommonFiles64Folder and WindowsNT64
  1000. properties get created when Darwin is running on 64-bit
  1001. NT and on that platform System16Folder does not exist
  1002. anymore.
  1003. 00-02-11 eugend Fixed bug # 10558: CBasicUI::CheckDialog will not
  1004. use now random values for iDialogLeft, iDialogTop,
  1005. iDialogWidth & iDialogHeight.
  1006. 00-02-10 cgouge Bug 10236 - added support for LFN extraction to
  1007. mergemod. By requesting the MsmMerge2 interface you can
  1008. call ExtractFilesEx and request short or long
  1009. filenames. This is the first part of the new mergemod
  1010. interface and required stubbing out the other new functions
  1011. in an attempt to avoid multiple changes to the
  1012. inteface.
  1013. 00-02-10 cnapier Fixed bug 10068. When a bogus path is provided to a
  1014. transform, we now return
  1015. ERROR_INSTALL_TRANSFORM_FAILURE instead of ERROR_FILE_NOT_FOUND. The transform
  1016. failure message includes directions to verify the
  1017. path to the transform.
  1018. 00-02-10 cgouge Bug 9808 - The limit of 83 media entries in an
  1019. install has been eliminated via the addition of a new
  1020. opcode (ixoSourceListAppend) that tacks additional
  1021. sources (of any type) on to the end of the existing source
  1022. list. The opcode can be used for either packages or
  1023. patches
  1024. 00-02-10 cgouge Bug 10537 (again). Feature reference in new Assembly
  1025. table also incleased to length 38.
  1026. 00-02-10 cnapier Bug 10163. ICE75 -- verfies that Custom Actions
  1027. referencing the File table are sequenced after
  1028. CostFinalize.
  1029. 00-02-10 cnapier Fixed bugs 10198 and 10184. Reports to the debugger
  1030. (in the service) are only sent if the debug policy
  1031. is set. Fixed the problem in SetInstallerACLs when
  1032. deleting a key caused the service to not start.
  1033. 00-02-09 bench Fixed bug 10596: MsiMsp issues: 1) fixed bug with
  1034. quoted paths passed to the exe, 2) improved failure
  1035. message to be a little more friendly, 3) remove the -c
  1036. option, which was required for success in most cases,
  1037. with the -k option, which as the opposite effect.
  1038. 00-02-09 eugend Fixed bug # 10599: Millenium's System Restore
  1039. strings got more concise now.
  1040. 00-02-09 cgouge Bug 10537 - updated Feature.Feature and all Feature_
  1041. columns to 38 characters.
  1042. 00-02-09 mattwe Bug 10528 - InstallSFPCatalogFile action now only
  1043. can run on Win9X systems beginning with Millennium (4.90)
  1044. 00-02-08 mattwe Bug 10441: Fixed assert when installing invalid catalog
  1045. files
  1046. 00-02-07 eugend Fixed bug # 10545: Ship builds of Darwin record now
  1047. PCHealth strings correctly.
  1048. -----------------------------
  1049. Release 1.1.1406
  1050. -----------------------------
  1051. 00-02-04 cnapier Fixed bug 10436. ORCA. Made the combo boxes on the
  1052. Validation dialogs have the CBS_AUTOHSCROLL
  1053. attribute to allow entering of text longer than combobox
  1054. boundary.
  1055. 00-02-04 cnapier Fixed bug 10256. SDK. Created custom action
  1056. samples for the SDK (Sample 1 is launching an installed
  1057. file at the end of the install. Sample 2 is creating
  1058. user accounts on the local machine using a Custom table
  1059. and deferred and rollback custom actions). Source
  1060. files are provided in the SDK under Samples.
  1061. Documentation will be added to msi.chm explaining use and
  1062. authoring. Relevant files are tutorial.cpp,
  1063. process.cpp, remove.cpp, and create.cpp in %DARWIN%\src\samples.
  1064. 00-02-03 chetanp bug 10514 - preliminary COM+ support added in darwin
  1065. 1.5 The build supports installation of fusion
  1066. assemblies to the assembly cache via the new fusion apis.
  1067. A sample package containing a multimod assembly is
  1068. now built and released (Asm.msi) The table schema that
  1069. is supported is in the dev specs in
  1070. http://dartools/dardev/specs/complusasm.doc . Note that in this
  1071. release we dont make use of the AssemblyName table, which
  1072. can be omitted.This release does not have support for
  1073. install on demand/ reinstall/ uninstall of COM+
  1074. components.You will run into a quaint debug error if you
  1075. attempt to run a COM+ package w/o the COM+ URT
  1076. installed in your system directory (go to http://URT).I have
  1077. tested installation of uncabbed single mod
  1078. assemblies, uncabbed multi mod assemblies and cabbed single
  1079. mod assemblies. The fusion dll against which the code
  1080. is compiled and works is 5.50.4026.2200
  1081. 00-02-03 eugend Fixed bug 9985: Fixed platfrom validation as to
  1082. handle the 64 bit processors as well and relaxed
  1083. validation on Alpha.
  1084. 00-02-01 eugend Fixed bug # 10527: more information about
  1085. SRSetRestorePoint API gets written into the log now.
  1086. 00-01-31 cgouge Bug 10124,10204,etc. This is the first checkin for
  1087. the 64bit custom action support in Darwin 1.5. This
  1088. initial checkin consits of most of the core
  1089. infrastructure code necessary to support multiple custom action
  1090. servers and servers that run client-side actions.
  1091. Specifically:
  1092. - Implementation of the CustomActionManager class
  1093. which creates, manages, and destroys up to 4 custom
  1094. action servers and their associated interfaces. This
  1095. object lives in the engine of the client and the config
  1096. manager of the service.
  1097. - Modification to the IMsiServer interface to
  1098. support client side requests for a custom action
  1099. server.
  1100. - Modifications to the registration system to provide
  1101. enhanced robustness and security when registering
  1102. multiple custom action servers.
  1103. - Providing a back up array-based system for
  1104. Thread-Id impersonation when running on the client side with
  1105. no available TLS slots
  1106. - Additional context information for RemoteAPI calls
  1107. to enable security checking when sharing an API
  1108. handler across multiple servers.
  1109. - Servers now watch for their clients to die, even
  1110. while idle (no active actions). Thus client processes
  1111. can die without leaving behind copies of msiexec.
  1112. - Client, Server and Service now use the GIT for
  1113. interface management. We now require NT4 SP3+ for
  1114. unicode builds.
  1115. - Code to take an arbitrary PE format file and
  1116. determine if it is 64 or 32 bit.
  1117. - Explicit registration of msiexec paths at
  1118. /regserver time so 32bit processes can find the secure copy of
  1119. the 64bit msiexec and vice-versa
  1120. - Addition of the msidbCustomAction64BitScript
  1121. attribute.
  1122. Still to come:
  1123. - Security work for multiple simultaneous client
  1124. calls (waiting on 10300)
  1125. - full 64-bit functionality for DLLs and CAs (waiting
  1126. on the OS)
  1127. - perf optimizations (waiting on some spare time)
  1128. - Moving COM impersonation to the interface level
  1129. (waiting to see if needed)
  1130. New client DLLs will NOT work with the new service.
  1131. The new service should work with old client DLLs.
  1132. The service must be registered for client custom
  1133. actions to run.
  1134. 00-01-28 eugend Fixed bug # 10530: The call to System Restore API
  1135. now happens before we lock the server (write the
  1136. InProgress) key.
  1137. 00-01-27 cnapier Fixed bug 10319. Makefile. Added dependencies for
  1138. orca and msival2 cabinets so they could be built.
  1139. Note, we should probably build these in a post build
  1140. process since they have dependencies on files built in
  1141. different flavors.
  1142. 00-01-24 chetanp bug 10347 - fixed infinite recursion caused when
  1143. installing fonts with badly formed version string
  1144. 00-01-24 cnapier Fixed bug #10448. ActionText.Description,
  1145. ActionText.Template, and Error.Message columns are now of
  1146. length 0 (infinite) to make localization easier (since
  1147. many languages have much longer strings than their
  1148. english counterparts).
  1149. 00-01-24 bench Fixed bug 10432: the DuplicateFile.DestFolder column
  1150. was the incorrect size for an identifier column.
  1151. 00-01-21 chetanp fixed bug 10444. Prevent the IsolateComponents
  1152. action from running twice (once from the InstallUISequence
  1153. and once from the InstallExecuteSequence) in the
  1154. same engine (on Win9x).
  1155. 00-01-20 cnapier Fixed bug 10400. SDK. Made it possible for
  1156. uisample.msi, schema.msi, and sequence.msi to be merged
  1157. together without merge conflicts. Removed reference to
  1158. dialogs from sequence.msi (other than the typical
  1159. dialogs denoted by negative sequence numbers).
  1160. 00-01-19 mattwe Bug 10398: Added validator for InstallSFPCatalogFile
  1161. to ICE26 and ICE27
  1162. 00-01-19 bench Fixed bug 10394: fixed case statement that didn't
  1163. handle the imsAbort return from Message() correctly,
  1164. causing the installer to behave as if the install
  1165. failed rather than being cancelled.
  1166. 00-01-19 bench Fixed bug 10423: added INSTALLPROPERTY_PACKAGENAME
  1167. which was mysteriously absent although fully supported
  1168. as an argument to MsiGetProductInfo.
  1169. 00-01-19 eugend Fixed bug # 10402: in addition to reporting the
  1170. facename and charset of the fonts it creates, Darwin now
  1171. also reports the height. It does this also in
  1172. CMsiServices::SetPlatformProperties when it determines the
  1173. size of the dialog unit.
  1174. 00-01-18 cnapier Fixed bug 9670. Removed the unsupported nested
  1175. install custom actions (type 151 and 55) from Testdb.
  1176. 00-01-18 cnapier Fixed bug 9292. Property dump messages are now also
  1177. sent to the External UI handler if present and
  1178. filtering for the Info messages.
  1179. 00-01-18 eugend Fixed bug # 10282: from now on the presence of
  1180. checkboxes on dialogs will not draw the focus to get set
  1181. to them.
  1182. 00-01-18 cgouge Bug 10350. Added additional logging to source
  1183. resolution to assist in detecting source problems.
  1184. 00-01-18 cgouge Bug 9970. Added null terminator to command line
  1185. argument array to avoid potential crash in msiexec when
  1186. given an invalid argument.
  1187. 00-01-18 bench Fixed bug 10196: under certain conditions when
  1188. creating a randomly-named log file, the installer would
  1189. enter a very long loop creating a ton of 0-byte log
  1190. files. This was caused by a bug in the code that
  1191. generates the temporary log file names.
  1192. 00-01-17 cnapier Fixed bug 10252. Updated msitool.hlp for all tools
  1193. (made it current).
  1194. 00-01-17 cnapier Fixed bug 10377. Validation. Created a new class
  1195. CManageTable for ICEs to use for managing hold counts
  1196. on tables. Guarantees that if an ICE were to fail,
  1197. the HOLD counts that the class is responsible for are
  1198. FREED for that table.
  1199. 00-01-17 cnapier Fixed bug 10319. Validation. New ICE74. Ensures
  1200. that the FASTOEM property is not authored in the
  1201. Property table.
  1202. 00-01-17 cnapier Fixed bug 10368. Validation. Fixed ICE12 to not
  1203. incorrectly error on Type 39 custom actions.
  1204. 00-01-17 cgouge Bug 10352. ICE61 did not handle the InclusiveMin and
  1205. InclusiveMax attributes correctly when validating
  1206. the upgrade table.
  1207. 00-01-17 cgouge Bug 10346. Downgraded ICE61 "only older version"
  1208. error to a warning. This supports products replacing
  1209. newer versions of themselves.
  1210. 00-01-17 bench Fixed bug 10414: better verbose logging for code
  1211. that increments and decrements the counter signifying
  1212. whether Darwin will reject system shutdown requests or
  1213. not.
  1214. 00-01-17 cgouge Bug 10373 - typo in ICE34 error location string
  1215. 00-01-17 bench Fixed bug 10374: the MsiApplyPatch api was limiting
  1216. the szCommandLine argument to 1024 characters as it
  1217. was passing the string through a wsprintf call. We
  1218. are now avoiding wsprintf, allowing to string to be of
  1219. unlimited length.
  1220. 00-01-17 bench Fixed bug 10287: when scheduled custom action exes
  1221. failed in a certain way, Darwin would attempt to
  1222. reboot the system. The problem was overloaded return
  1223. values that weren't getting remapped correctly. This has
  1224. been fixed.
  1225. 00-01-14 bench Bug 10206: created a new tool for the sdk:
  1226. MsiMsp.Exe. This is a command-line tool that wraps
  1227. PatchWiz.Dll and is used to create patch packages (.msp files).
  1228. See MsiTool.Hlp for usage and other info.
  1229. 00-01-14 eugend Fixed bugs # 10317, 10318, 10320 & 10381. All of
  1230. these were OEM issues. The changes do not allow a
  1231. FASTOEM installation to occur in upgrade, patch,
  1232. maintenance and advertise mode installs, but only on first
  1233. runs. UI or UI preview are not permitted either in
  1234. FASTOEM scenarios. On NT only per machine installations
  1235. are allowed in FASTOEM mode.
  1236. 00-01-14 eugend Fixed bug # 10199: As per instructions for GHeino,
  1237. I've upgraded RICHED20.DLL to ver. 5.30.23.1200 and
  1238. USP10.DLL to ver. 1.325.2180.1.
  1239. 00-01-14 bench Fixed bug 10310: fixed a few calls to IStrCopy that
  1240. could have passed a null pointer. Doing so causes a
  1241. crash when running under a debugger.
  1242. 00-01-13 cnapier Fixed bug 10381. Updated MsiVal2's packagecode,
  1243. productcode, and productversion due to changes in
  1244. msival2.exe. These changes are preparatory for the next
  1245. SDK (probably 1.2).
  1246. 00-01-13 cnapier Fixed bug 10395. SDK and MsiSpy now install to
  1247. ProgramFilesFolder by default.
  1248. 00-01-13 bench Fixed bug 10039: MsiSetPropertyW was not calling the
  1249. correct thread-safe routine for setting properties.
  1250. Now it is.
  1251. 00-01-12 cgouge Bug 10365. Fixed a mismatched
  1252. Start/StopImpersonating call on a BindImage failure case that was found by
  1253. code audit.
  1254. 00-01-12 cgouge Bug 10349. Fixed some mismatched
  1255. Start/StopImpersonating calls that were causing failures in
  1256. GetFileChecksum. This problem would result in the impersonation
  1257. count becoming corrupted and further impersonation
  1258. calls failing.
  1259. 00-01-12 eugend Fixed bug # 10361: if rollback is disabled,
  1260. CMsiOpExecute::InitializeWindowsEnvironmentFiles() doesn't
  1261. back up AUTOEXEC.BAT anymore.
  1262. -----------------------------
  1263. Release 1.1.1311
  1264. -----------------------------
  1265. 00-01-11 cnapier Fixed bugs 10192 and 10253. SDK. Our SDK is now
  1266. ready for the Millennium (or next release). All 110
  1267. related files have been archived. The SDK now makes
  1268. use of the uisample UI. In preparation for the next
  1269. SDK, the product, package, and product versions have
  1270. all been updated so that they will be correct when we
  1271. build the next SDK. Pullsdk.bat was updated to create
  1272. the additional 110 directories beneath Database (for
  1273. schema.msi and sequence.msi) and Tools (for the 1.1
  1274. logo, darice, and mergemod cube files). Furthermore,
  1275. the SDK has been somewhat reorganized to have a
  1276. separate Archive feature which then has the 100 and 110
  1277. subfeatures and whose installstate is initially set to
  1278. absent.
  1279. 00-01-11 chetanp fixed bug 10263 - we were not releasing source file
  1280. handle upon a file copy initialization error.
  1281. 00-01-11 cnapier Fixed bug 10281. Removed msival2's dependency on a
  1282. hard-wired product code. Instead, MsiVal2 determines
  1283. its product code at runtime (via MsiGetProductCode)
  1284. using the component code of its main exe component.
  1285. This component code will typically not change whereas
  1286. the productcode typically changes from one SDK
  1287. release to the next. The only potential gotcha that is
  1288. handled in the code is that the main exe component is
  1289. conditionalized on the OS platform (Win9X or WinNT).
  1290. 00-01-11 cnapier Fixed bug 10309. All localized ActionText and Error
  1291. tables will now pass validation when imported into
  1292. an already valid database. Also created the
  1293. validt.bat batch file in %DARWIN%\src\tools to be run PRIOR to
  1294. check-in of the localized files.
  1295. 00-01-11 bench Fixed bug 10366: fixed logic that caused an error
  1296. when applying a product-code-changing patch to a
  1297. product with an embedded cabinet. The error was caused
  1298. when we thought the cached msi we are running from
  1299. should have contained the cabinet, which cached msis do
  1300. not.
  1301. 00-01-10 mattwe Fixed bug 9928: SFP catalogs can now be installed
  1302. on Millennium platforms.
  1303. Added tables: SFPCatalog and FileSFPCatalog
  1304. Added action: InstallSFPCatalog
  1305. spec: http://dartools/dardev/specs/SFP-Millennium.htm
  1306. 00-01-07 cnapier Fixed bug 10191. Incorrect cost calculation during
  1307. Maintenance Mode when toggling the install state of
  1308. an already local feature in the Selection Tree. Also
  1309. added new controls to testdb's SelectionDialog to aid
  1310. in testing of this bug fix. During the toggling of
  1311. a feature's state, three controls keep track of the
  1312. PrimaryVolume* properties.
  1313. 00-01-07 cnapier Fixed bug 10298. Removed the easter egg from
  1314. MsiSpy.
  1315. 00-01-07 eugend I've checked in the code that implements Darwin's
  1316. interactions with Windows Millenium's PC Health
  1317. feature. Bug # 9929 was tracking this.