Darwin Setup Development Notes for Testing Releases

01-09-14  cnapier      WinSE Bug 21522 (Bug 397957): Wireless QFE. Run from a temp copy of a patch to handle
                       media/network issues

01-09-14  cnapier      WinSE Bug 21523 (Bug 452314): Wireless QFE. Run from a temp copy of a transform to handle
                       network issues

01-08-09  rahulth      Bug 453276: Windows Installer crashes when applying an Office patch.
                       msiregmv.exe strips the last null terminator from REG_MULTI_SZ values during
                       migration. To fix this, msi was made more robust by padding any read REG_MULTI_SZ
                       values with 2 terminating nulls to be safe.

01-08-08  chetanp      Bug 452635: MsiProvideAssembly sometimes returns ERROR_MORE_DATA even if no buffer is passed in

01-08-08  cgouge       Bug 452101: Eliminate random failure in action APIs where generated action cookie has 0
                       in the first byte.

01-07-31  chetanp      Bug 447897: MsiCollectUserInfo broken on Win9x

01-08-01  cgouge       Bug 437248: MSI will no longer implicitly clean up the HKLM\RunOnce key if a component 
                       removes the last value.

01-07-27  cnapier      Bug 446200: MsiAdvertiseScript fails on Win2K ADE due to RunningAsLocalSystem check.
		       RunningAsLocalSystem check is not performed when a registry handle is provided to
                       perform the fake advertise.

01-07-27  rahulth      Bug 442681 : Instmsi fails on system with Intel 82815 Graphics controller.
                       This was caused by igfxtray.exe and hkcmd.exe holding on to handles to the MSI
                       service. Solution was to nuke these processes.

01-07-24  cnapier      Build 250 of msi.chm, msi.chi

01-07-24  cnapier      Bug 441847 - Allow use of /L+, /L!, /L+!, /L!+ option for logging from command line.
                       This was supported in 1.0/1.1 Darwin.

01-07-20  weiruc       Bug 440303 - Validation: AdvtExecuteSequence table must contain PublishFeatures
		       and PublishProduct actions
01-07-20  cgouge       Bugs 438366, 438408, 438723. Remove memory leak, crash, UI issue from Orca.

01-07-20  cnapier      Bug 440505: MsiZap doesn't clean up HKCU advertise info on Win9X

01-07-19  rahulth      Fixed the following bugs:
                       Bug 433271 : setup.exe and msistuff.exe source should be published to PSDK.
                       Bug 438445 : New file schema.log should be listed in Readme.txt file.
                       Also made the following SDK changes:
                       - Removed Beta/RC1/RC2 references.
                       - Updated product and package codes for various released MSIs for the SDK RTM release.

01-07-18  cnapier      Bug 436419 - fix Patch management code to handle cases where transforms have updates
                       for missing rows (like BizTalk SP1 patch when applied to standard edition)

01-07-18  chetanp      Bug 438764 - MsiGetComponentPAthA fns failing on assembly components

01-07-17  weiruc       Fixed bug 437312 - validation should warn about missing UpgradeCode.
01-07-17  rahulth      Fixed the following issues in the internet download sample setup.exe.
                       Bug 217629 : Handle minor upgrades and patches.
                       Bug 402643 : Check signature on Instmsi.exe after it is downloaded.
                       Bug 185987 : Add the ability to perform admin install using downloaded setup.exe

01-07-16  chetanp      Bug 435087 - add verbose logging to indicate exact assembly installation error

01-07-13  rahulth      Bug 432407 : 32-bit clients on IA64 looked for files in the wrong
                       folder during costfinalize because the translation of paths was not
                       being done, i.e. system32 was not getting translated to syswow64
                       in certain code paths.

01-07-11  cgouge       Bug 431025: Transitive components added by a patch but conditionalized out now have
                       request states of local with action states NULL to ensure that they are registered
                       for the product (to prevent later ops from dropping the feature to advertise).

01-07-06  cgouge       146505 - add row dialog in orca now supports larger number of columns in the table.

01-07-06  cgouge       422160 Orca validation pane support

01-07-05  cgouge       54019 - added manifest and SXS support to mergemod

01-07-05  cgouge       427458 added scroll bar to cell error dialog description field.

01-07-05  cgouge       431025 minor header file tweak to mergemod.h

01-07-05  rahulth      416074 : Prevent explorer AV while running instmsi.exe on Win2K with buggy IE5.5 mshtml.dll
                       424877 : Prevent windows installer hangs in SHChangeNotify.

01-07-03  cgouge       419705 - external UI can now resolve source in quiet mode by using the new 
                       INSTALLUILEVEL_SOURCERESONLY flag in MsiSetInternalUI

01-07-02  eugend       Bug 332443 - revisited: on 64bit machines, MsiZap lowers SharedDll counts
                       when info about a specific product is removed.
                       Bug 287593: MsiZap deletes now cached databases, patches & transforms
                       that are orphaned = not referenced in the registry.

01-06-30  mattwe       Bug 146598: sdk command line tools don't fail when run from directories
                       containing hyphens

01-06-27  cnapier      Bug 399793. Added wilogutl.exe (from nmanis in PSS) to MSI SDK. This
                       is a logfile viewer utility to help "decrypt" WI logfiles.

01-06-26  cnapier      Bug 341831, 355521, 355522, 355530. Various PatchWiz bug fixes.

01-06-22  cgouge       Bug 413579, 413598. Two stress failures in WBEM stress, optimized CApiConvertString usage.

01-06-22  cnapier      Bug 417993. Fix localization problem in JPN language (msijpn.res)

01-06-22  cnapier      Bug 418074. Do not clear InstallSource property when applying a patch.

01-06-14  weiruc       new ICE94 and ICE95 to fix bugs 146359 and 194100. Updated ICE68 to fix bug 199901

01-06-06  chetanp      Bug 409400 - User can view and delete folders on the system without logging on

01-06-15  cnapier      Bug 302199. Unfriendly error message from web download bootstrap when MsiInstallProduct
                       returns failure -- fix to use error message in msi.dll

01-06-15  cnapier      Bug 417540. Instmsi.msi is not stamped with all of the languages that it supports in the
                       template summary information stream. Fixed by adding msiinfo.exe to %sdxroot%\tools\x86.

01-06-14  weiruc       bug 146530, 257560, 258284, 276240

01-05-30  chetanp      Bug 415414 MSI 2.0 fails on Win9X - fix use of lstrcmpw on Win9x

01-06-14  mattwe       Bug 414174: Network installs from cabinets get clobbered when 
                       overwriting files on NTFS drives

01-06-12  eugend       Bug 412195: Maintenance mode runs now properly with full UI for
                       Localization Studio.

01-06-12  cgouge       Bug 413105: Crash in MsiProvideComponentW when passing NULL as lpPathBuf and pcchPathBuf.

01-06-12  mattwe       Bug 393428: Prevent custom actions from allocating gobs of memory when passing NULL as buffer
                       but large size value.

01-06-09  cnapier      Bug 410205: ApplyAppcompatTransforms handles product key changes (from either multi-language transform
                       or major update patch) for the ApplyPoint=2 call.

01-06-07  weiruc       bug 146293, 146367, 146385 checked in.	

01-06-07  cgouge       Bug 407990: reduce CAPIConvertString default buffer size to reduce stack usage in
                       common APIs which were causing faults. 

01-06-07  cnapier      Bugs 404595, 404597. Complete the patchwiz.dll error list and make sure that patchwiz errors
                       are written to the log file.

01-06-05  eugend       Bug 332443 revisited: I've fixed the Win64 problem where 32-bit MsiZap.exe was not
                       able to remove redirected 64-bit registry keys.

01-05-30  chetanp      Bug 399165: enable installations via ui custom action

01-06-01  cnapier      Bug 406294: Quiet mode always used when making AppHelp calls in the service.

01-06-01  cgouge       Bug 405016. Enabled appcompat shimming of self-reg.

01-05-31  cnapier      Bug 404892: AppHelp message shown twice when running install with full or reduced UI. AppHelp message
                       is now only shown once (and on the client)

01-05-30  chetanp      Bug 389384: mscoree.dll issue during .net bootstrapping

01-05-30  cgouge       Bug 410505. MsiViewModify with VALIDATE flags now sets error character array based on column in
                       view, not column in table. This prevents MsiViewGetError from trying to dereference column 
                       names with indexes beyond the view size, which crashed.

01-05-30  cgouge       Bug: 403099 - transform display issues in orca 

01-05-30  cnapier      Build 244 of msi.chm, msi.chi

01-05-30  cnapier      Bug 404910: PatchWiz no longer uses MessageBox in CHK builds to enable automation.  Instead
                       it uses OutputDebugString

01-05-30  cnapier      Bug 404599: PatchWiz + msimsp.exe can concatenate log files.

01-05-30  cnapier      Bug 153689: PatchWiz, DiskId, FileSequenceStart, and MediaSrcProp are no longer required in
                       the ImageFamilies table (i.e. can be NULL) when creating a patch that targets Installer 2.0
                       or greater

01-05-25  eugend       Bug 332443: MsiZap is now Win64 aware, i.e. all builds work properly on Win64
                       and lowers SharedDLL refcounts in both 64 and 32-bit hives.

01-05-24  rahulth      Changed the name of the .pdb for the downlevel msi.dll from msi.pdb to msi_l.pdb. This
                       allows the postbuild script for debuggers to pick up the pdb for indexing and have a signature
                       that is different from that of the symbol file for the whistler version of msi.dll (see 
                       change 57919 in the root depot for the postbuild change for picking up the downlevel pdb
                       for indexing the symbols).

01-05-24  rahulth      Bug 300071: Prevent Shared dll ref. count from getting decremented twice on x86.

01-05-24  chetanp      Bug 400332: Handle various cases of the "Name" valuename for Assembly names in MsiAssemblyName table

01-05-23  cnapier      Build 243 of msi.chm, msi.chi

01-05-23  cnapier      Bug 340023: PatchWiz returns ERROR_PCW_TARGET_IMAGE_NAME_TOO_LONG instead of ERROR_PCW_BAD_TARGET_IMAGE_NAME
                       when the TargetImages.Target column value exceeds the maximum allowed length.

01-05-23  cgouge       Bug: 146373 - mergemod now has support for merging modules into databases where the schemas
                       are compatible but not exactly the same. 

01-05-22  cnapier      Integrate Lab04 into MsiDev private branch.

01-05-17  mattwe       Bug 396116: Fixed token privilege leak when creating folders with lockpermissions

01-05-17  cgouge       Bug 385954. Orca can now view 2.0 patches by creating the correct patch
                       table schema if it doesn't already exist.

01-05-17  cnapier      Bug 268351: Increase subfolder buffer in PatchWiz to prevent stack corruption

01-05-17  cnapier      Bug 165265: Improved compressed image error in PatchWiz

01-05-17  cnapier      Bug 204707: Improved patchwiz performance by using a patch cache

01-05-17  cnapier      Bug 159892: WiFilVer.vbs supports MsiFileHash functionality.

01-05-17  cnapier      Bug 313094: MsiZap removes cached patches and cleans up patch data

01-05-17  cnapier      Bug 355848: MsiZap misses some things if package is installed by non-admin user

01-05-17  cnapier      Bug 396491: 2330 debug error when uninstalling with a folder (created by CreateFolder table)
                       help open in cmd prompt or explorer

01-05-16  cgouge       Bug 396511: remove crash when logging that cached database can't be deleted.

01-05-16  eugend       Bug 395227: Fixed cabinet extraction code as not to fail when it extracts
                       assemblies on Win64 machines.

01-05-15  cnapier      Bug 150879. Fixed Simple.msi's DiskPrompt property.

01-05-15  cnapier      Bug 169843: Fixed Testdb.msi's VBScript custom action (incorrectly referenced Application when it should
                       have referenced Installer)

01-05-14  cgouge       Bug 389812. problems with extra columns in orca when a transform is being edited.

01-05-14  mattwe       Bug 393692: Fixed memcmp after memory freed - really old bug in LookupSid for LockPermissions

01-05-13  cgouge       Bug 357608. orca now HOLDs tables in memory to prevent OLE failures on repeated row adds.

01-05-11  cnapier      Bug 316651: Web download bootstrap asks user if they want to upgrade the Installer version prior to
                       running instmsi

01-05-11  cnapier      Bug 323663: Fixed failure to create patch with patchwiz when .PCP file was read-only

01-05-11  cnapier      Bug 381067: Fixed MsiFiler to update file hash for unversioned files with companion file versions.

01-05-11  cnapier      Bug 388207: Updated CHT error strings.

01-05-11  cnapier      Bug 388944: On the fly new schema patch table only created when a patch will be applied (instead of
                       all of the time)

01-05-11  cnapier      Bug 389496: Updated CAT action text and error strings.

01-05-11  cnapier      Bug 390641: We now handle bogus minor update multi-target patches without product version validation

01-05-11  cnapier      Bug 390984: We output the HRESULT from the failed IComAdminCatalog::InstallApplication call in
                       RegisterComPlus action to the log file via an info message.

01-05-11  cnapier      Bug 391096: Removed private and unused properties from wilstprd.vbs

01-05-11  cnapier      Bug 392192: Fixed msizap to not delete files and folders when adjusting ACLs

01-05-08  eugend       Bug 386114: Calling MsiAdvertiseScript from a 32-bit service on 64-bit machine doesn't fail anymore.

01-05-11  chetanp      Bug 385303: APPCOMPAT bug regarding winway.fon and crash in version.dll

01-05-07  cgouge       Bug 387418. timing issue with non-admin deferred elevated custom action servers being 
                       denied access to the synchronization event.

01-05-04  mattwe       Bug 356798. Security descriptors from existing files are now correctly applied when overwritten from cabinets.

01-05-04  chetanp      Bug 370483: remove attempt to fix start menu mess up on WINME korean when running darwin packages

01-05-04  cgouge       Bug 385955. Watch log dialog in Orca truncates text at a certain length.

01-05-04  cgouge       Bug 385601. Fixed Orca hang when extracting from mergemod CABs that span a CAB set.

01-05-04  cnapier      Bug 381320: Fixed patchwiz to create patches and fixed the Installer to handle old schema and new schema
                       Patch tables.  Because of the FTK fix, the change in the nullability of the Header column causes problems
                       when applying a transform if the old schema (where the column can't be null) is used first.  This is because
                       a patch with the FTK limit issue has this column as null and uses the StreamRef_ column to reference the
                       MsiPatchHeaders table.  To fix this, the Patch table is dropped and created automatically with the new
                       schema before application of any patches or transforms.  This guarantees that the new schema always wins which
                       is compatible with old and new patches.

01-05-04  cnapier      Bug 155046: Remaining languages -- EUQ, SLV, SKY, HRV, ROM, and CAT.  Note that CAT's Error table is not
                       completely localized.

01-05-04  rahulth      Bug 376181 : Grabbed a new version (5.0.2147.1) of cabinet.dll for downlevel platforms
                       (NT4 and Win9X). This not only ensures version parity for cabinet.dll with newer platforms
                       like Win2K but also fixes installation problems caused by the old cabinet.dll's inability
                       to handle varying sizes in the reserved fields of the cabs.

01-05-04  rahulth      Bug 383958 : Instmsi no longer pops up any message boxes if it is invoked in quiet mode.
                       (caveat: unicode instmsi on Win95 Gold will cause the system to pop up a message box
                                about setupapi.dll missing.)

01-05-02  chetanp      Bug 338432: Fixed feature caching logic to dump stale caching across installations

01-05-01  cnapier      Bug 363989: AppCompat fix for minor update multi-target patches with bogus validation flags (product version
		       check is specified but no corresponding comparison flag is specified).  The fix is similar to our fix for small
                       update patches -- we'll apply the first set of transforms  and then skip remaining transforms. Also fixed patchwiz
                       to no longer create patches that specify these bogus validation flags.

01-05-01  chetanp      Bug 370483: Fix start menu mess up on WINME korean when running darwin packages

01-05-01  cnapier      Bug 155046. Drop of 29 (of 35) localized languages for Windows XP. Includes updated ActionText, Error, resource
                       files and instXXXX.msi files (for instmsi.exe language transforms).  Updated languages are: ARA, CHS, CHT, DEU,
                       HEB, JPN, KOR, THA, VIT, CSY, ELL, ITA, PTB, RUS, PTG, DAN, ESN, FIN, ENU, FRA, HUN, NLD, PLK, SVE, TRK, NOR. New
                       languages are: ETI (estonian), LTH (lithuanian), LVI (latvian).

01-05-01  cnapier      Bug 356192. Fix msi assert msiutil.cpp -- unable to delete file due to sharing violation.  Added
                       retry loop with sleep.

01-05-01  cnapier      Bug 373864. Can now import CHT, JPN, CHS, and KOR IDT files (IDT files with DBCS char).

01-05-01  cnapier      Bug 349328. Remove obsolete ApiPatchingOption flags from template.pcp

01-05-01  cnapier      Bug 373304. Fix confirmation message in msizap to be more polite.

01-05-01  cnapier      Bug 381702. Fix buffer overrun in PatchIDToSourceProp

01-05-01  cnapier      Bug 372166: Preserve ERROR_MORE_DATA return by a custom action

01-05-01  cnapier      Bug 373210: Preserve icon specification in MsiProcessMessage, defaults only used when icon
                       is not specified

01-05-01  cnapier      Bug 373009: User cancelled install actually cancels.

01-05-01  cnapier      Build 240 of msi.chm, msi.chi

01-04-30  rahulth      Picked up a newer version of rich edit(5.30.23.1205).

01-04-30  mattwe       Bug 370215: Client side caching of database running as LocalSystem no longer
                       receives security descriptors - this matches behavior of any other user.

01-04-30  cgouge       Bug 323874: initial checkin for appcompat hook support in MSI custom actions. 

01-04-29  chetanp      Bug 368867: Help files are uninstalled with the SAPI SDK after upgrade from downlevel OS

01-04-29  chetanp      Bug 367320: On WIN9x, avoid call to IsImpersonating function

01-04-29  chetanp      Bug 343336: Buffer overflow in OpenAdvertizedSubkeyPacked

01-04-29  chetanp      Bug 367755: send message to shell to refresh when we create and delete admin tolls folder

01-04-27  mattwe       Bug 370485: Environment variables in the service are refreshed with each new install
                       _MSI_TEST test flags are also requeried.

01-04-27  cgouge       Bug 370482: deferred elevated custom action server would not launch when
                       client is on a non-console session on Win2K. 

01-04-27  chetanp      Bug 375995: Add Codebase hint for private assembly COM classic interop

01-04-27  weiruc       Validation bugs checked in in change list 29739: 146438, 289920, 290601, 304111, 320934, 353603.

01-04-27  cgouge       Bug 367251: Remove Orca text limit in editing cell.

01-04-27  cgouge       Bug 377568: remove hang when pasting row with null binary data.

01-04-27  eugend       Bug 356767: I've fixed up instances in the code where due to an incorrect value
                       returned by GetLastError() we took either incorrect decisions or we've returned
                       wrong values.

01-04-25  mattwe       Fixed RI blocker in instmsi.mak.  Make files should use "CD" not "CD /D"

01-04-24  rahulth      Fix for bug 376037 : Assert in oleaut32 about freeing unallocated memory.

01-04-18  rahulth      Fixed the following bugs:
                       360257 : Instmsi should pick up real appcompat binaries.
                       369896 : DllCache is not being updated when instmsi runs on Win2K.
                       346279 : Instmsi should run msiregmv.exe deferred but elevated.

01-04-18  mattwe       Bug 366273: Long DBCS product names on Windows Me cause crash after setting system
                       restore checkpoint.


01-04-18  eugend       Bug 357718: If we cannot retrieve CRC checksums for a file, we display now the ship
                       error that fits in that context.  Beforehand we've displayed a silly internal error.

01-04-18  cgouge       Bug 370673: No crash on multiple search dialogs in Orca

01-04-18  cnapier      Bug 349328: Removed ApiPatchingOption flags from Properties table of example.pcp file included
                       with the SDK.  This is an obsolete property.

01-04-18  cnapier      Bug 180824: Fixed msizap to include admin full control when adjusting ACLs for files and folders.
                       Formerly it would replace all ACLs with admin full control, thus ACLing out Local_System, etc.

01-04-18  cnapier      Bug 301218: Fixed msifiler.exe and wifilver.vbs to properly handle companion files. Formerly it
                       would overwrite the companion file information in the Version column of the File table.

01-04-18  cnapier      Checked in build #238 of msi.chm, msi.chi

01-04-18  cgouge       Bug 313836: Orca can now view integer columns in Hex

01-04-13  chetanp      Bug 342421: we now honour clients across assignment types (user + machine installations)
                       To do this correctly, we need to clean up HKCR information on platforms Win2k and above
                       in the scenarios where the last client for that component in a particular context is being
                       removed (last per user client going away, should take away the HKCU\S\C info, since the per machine
                       client would have written to HKLM\S\C. Hence needed to introduce 2 new iisEnum action states -
                       iisHKCRAbsent= 11 (only HKCR data to be removed), iisHKCRFileAbsent = 12 (HKCR + Files to be removed)

01-04-13  chetanp      Bug 357314: fix assert when extracting empty custom action from binary table

01-04-12  mattwe       Bug 356798: Files installed from cabinets now get permissions set with LockPermissions

01-04-12  mattwe       Bug 355997: Fixed last error clobber in lock permissions code.  Fixes error
                       message reporting when failing to look up user.

01-04-12  cnapier      Bug 367212: fixed AV in IsolateComponents action.

01-04-12  mattwe       Removed assert when System Restore is frozen - BVT fix.

01-04-12  bench        Bug 365593: fixed assert in Engine.Initialize when passed in an invalid command-line

01-04-12  bench        Bug 366732: we now use the public shimdb.h instead of a private version.

01-04-10  cnapier      Bug 268360: Patches can now be created when the file table key is long, causing
                       us to hit the OLE stream name limitation.  Patchwiz and Msi now handle this by
                       using a MsiPatchHeaders table that maps a row in the Patch table to the patch
                       header stream.  A patch containing a populated MsiPatchHeaders table can only
                       be applied with Windows Installer version 2.0 or greater. Patchwiz only creates
                       this table if it has to.

01-04-10  cnapier      Checked in build #236 of msi.chm, msi.chi

01-04-09  weiruc       Fix bug 300071, LowerSharedDLLRefCount now handles 64 and
                       32 bit paths correctly.

01-04-09  eugend       Bug 357718: CRC checking displays now errors also for files whose checksums
                       it cannot get.

01-04-09  eugend       Bug 359082: ScrollableText control displays now text that's over the 32K characters limit.

01-04-09  cgouge       Bug 359886: Watch Merge Log option unsupported on 9x.

01-04-09  cgouge       Bug 355665: Orca validation error when no CUB file selected.

01-04-09  cgouge       Bug 359879: temp CAB file is now deleted by mergemod on Win9X.

01-04-06  bench        Bug 345536: changed the text for error 2735.

01-04-06  bench        Bug 356951: fixed assert during major upgrade patch.  The assert was pointing out that we
                       were orphaning cached .msi files.

01-04-06  bench        Bug 359878: fixed AV when installing a patch that updated some files which were also duplicated
                       in the DuplicateFiles action.

01-04-05  rahulth      Bug 263973: fixed the TLS slot leak. We used to allocate the TLS slot g_dwImpersonationSlot
                       only once in msi.dll and then hold on to it as long as the dll was loaded. However we had
                       forgotten to free the slot when the dll is unloaded. Therefore, any process that loaded and
                       unloaded msi.dll would leak a TLS slot per load-unload.

01-04-03  eugend       Bug 357028: fixed AV caused in the client by missing Directory table.

01-03-29  bench        Bug 292811: added support for disallowing installs that have application compatibility
                       issues on Whistler (assuming that's ok with the user).

01-03-29  chetanp      Bug 180771: converted debug assembly errors to ship

01-03-29  rahulth      Bug: 341111. Fixed the problem where we were getting a "The specified service
                       has been marked for deletion" popup after running instmsi on Win2K.
                       Bug: 284005. Fixed icon registration for msi files in the 32-bit hive on IA64 machines.

01-03-29  rahulth      Bug: 339688. Fixed the custom action failures for non-admin users on NT4.
                       The cause of the problem was that advapi32!GetSecurityInfo does not like
                       pseudo handles on NT4.0. This was causing the custom action server to fail
                       when it tried to set the synchronize rights for non-admin users. The fix involves
                       passing in a real handle to the process rather than a pseudo handle.

01-03-29  cnapier      Bug 353248: Return ERROR_DISK_FULL when out of disk space while attempting to cache
                       the msi package temporarily.  If running with the UI, we give the user the option
                       to retry or cancel.

01-03-29  mattwe       Bug 347901:  We now ref-count our use of the Security token privilege (SE_SECURITY_NAME).
                       This allows us to set/unset the privilege in winlogon for reading file security off 
                       existing shortcuts and re-apply it without being in the service.

01-03-29  mattwe       Bug 316661:  orca.msi and msival2.msi in the flat file tree for the SDK now have their cabs.

01-03-29  bench        Bug 339781: allow multi-target, small update patches to apply with 1.5

01-03-28  cnapier      Build 233 of msi.chm and msi.chi is available

01-03-28  cnapier      Bug 279840: enforce running as local_system for calls to MsiAdvertiseScript

01-03-28  chetanp      Bug 350947: appcompat fix for speech package on Whistler

01-03-28  chetanp      Bug 351640: backprop WIN2K SP bug 13441

01-03-28  eugend       Bug 302675 revisited: we swap now only the C:\Windows\Syswow64 into C:\Windows\System32
                       (on Win64, when we write data into the 32-bit SharedDll - this is for 32-bit components).

01-03-28  bench        Bug 148734: when a debug error occurs, the log will contain the full-text of the debug error, rather
                       than just the generic string with the error parameters.  As part of this fix, we now store all of our
                       debug error strings in the ship msi.dll (as global strings in the code).

01-03-27  chetanp      Bug 282068: Fix uninstall key cleanup

01-03-27  chetanp      Bug 350743: Fix admin install involving assemblies

01-03-26  eugend       Bug 331291: Assert will not fire now when source resolution encounters a drive that
                       does not support long file names.

01-03-23  mattwe       Bug 335467: Msi.Dll in InstMsi redist is rebased to Windows 2000 location.

01-03-23  mattwe       Bug 346820: Updating autoexec.bat with brand new path variable adds garbaged

01-03-22  cnapier      Bug 343570: Msi is now version 2.0! (formerly 1.5)

01-03-22  cnapier      Bug 346569: Script custom actions from DoAction control events were never executed if no
                       other custom actions had run in the InstallUISequence.  This is now fixed.

01-03-22  cnapier      Bug 207348: Fixed Internal Validation to special case scrollable text controls in the Control
                       table.  These are no longer validated as formatted text as they have their own format to
                       follow (RTF).

01-03-22  cnapier      Bug 343671: FilesInUse dialog did not appear when uninstalling Office XP with WinWord.exe running.

01-03-21  bench        Bug 347830: fixed AV in appcompat code caused by incorrect header file.

01-03-20  chetanp      Bug 288515: fix bug that looks for SPF key files only in the system32 folder. We now check for
                       SFP for all locatoins.

01-03-21  bench        Bugs 347762, 347773: fix logging for appcompat matching, and fixed bug when appcompat XML
                       contains no optional data.

01-03-20  eugend       Bug 218473: HideTarget custom action option flag doesn't trash anymore the
                       Target and CustomActionData script fields.

01-03-20  chetanp      Bug 343749: fix code bug that prevented removal of feature registration for disabled features

01-03-19  eugend       Bug 311545: For files in use I've eliminated redundant data the service was
                       sending to the client and this will prevent the service from reaching the
                       limit of 255 fields in a record that could cause nowadays the client to display
                       empty listboxes in FilesInUse dialog.

01-03-19  eugend       Bug 302641: Darwin doesn't hang anymore when it sends ignore commands to FDIServer
                       and keeps getting back the same response.

01-03-19  chetanp      Bug 343342: fixed extra null termination when creating inprogress strings

01-03-16  bench        Bug 207675: validation no longer requires Media.Cabinet to contain an SFN name.

01-03-16  bench        Bug 158817: fix appcompat problem with Streets & Trips and MapPoint 2001.

01-03-16  chetanp      Bug 317061: fixed writing registry entries for never overwrite reg component

01-03-15  cgouge       Bug 344675: fix validation errors in mergemod.msm

01-03-15  cnapier      Bug 343881: fixed duplicate accelerator keys on UISample's MaintenanceTypeDlg dialog.

01-03-15  cgouge       Bug 343278: leaked handle in mergemod on bad configurable MSM.

01-03-15  cgouge       Bug 343854: Fixed image extraction command line in orca.

01-03-14  cgouge       Bug 146405: Fixed problem with mergemod extraction on 9X when using "-x .".

01-03-14  bench        Bugs 283833, 303917, 303923: MSI+AppCompat:

                         added more package matching support, more flexible application options, and added
                         downlevel client support.

01-03-13  rahulth      Bug 146318: InstMsi now creates a MIF file if the SMS client
                       is installed on the system.

01-03-13  cnapier      Bug 146277: Added COM+ costing. Private assemblies are costed the same way as files.
                       Cost of global assemblies is attributed to the Windows folder volume (location of GAC).

01-03-13  rahulth      Bug 337684 : SDB Api dlls are now placed in the system folder
                       rather than the apppatch folder.

01-03-13  cgouge       Bug 146514: mergemod CAs are not generated for orphaned directory table rows.

01-03-13  cgouge       Bug 339371: Fixed problem with file extraction from mergemod on Win9X.

01-03-12  rahulth      Bug 325070: Ensure we don't overwrite a newer sdb with instmsi.

01-03-12  bench        Bug 189654: appcompat fix for package with null source root property name.

01-03-11  chetanp      Bug 318317: allow bootstrapping of URT assembly installations. We now allow for the core
                       assembly installation files to be placed (by a CA) in a temp but secure location (URTTemp
                       under system32). We fall back to looking for the core URT dlls in that location if not found 
                       in the "regular" location

01-03-08  RahulTh      Added new msi.chi and msi.chm files.
                       Also fixed the following bugs:
                         179330 : InstMsi always returns ERROR_SUCCESS_REBOOT_REQUIRED on NT systems.
                         272003 : Handle migration of WinXP Installer Binaries on upgrades from NT4 to Win2K
                         337684 : InstMsi.exe should contain sdbapi.dll and msimain.sdb
                         179206 : Add the UI level property msiUILevelHideCancel for the installer automation
                                  object. Had missed this in previous checkin for the fix for 179206

01-03-08  eugend       Bug 335918: On Win64, 32-bit msiexec.exe registers now the automation handler
                       in the 32-bit registry hive.

01-03-08  eugend       Bugs 317008 & 317009: On Win64, for 32-bit packages, AppSearch will operate on the proper
                       32-bit paths & shortcuts' WkDir will get corrected on the fly to 32-bit paths.

01-03-08  cgouge       Bug 331309: Orca: if a merge module is not configurable, we don't throw up an empty
                       configuration dialog.

01-03-08  eugend       Bug 331618: Fixed alignment faults in TRANSFRM.CPP

01-03-07  mattwe       Bug 151680:  Token privileges for Restore and Take Ownership are now enabled as necessary
                       via the CRefCountedTokenPrivileges privs(itkpSD_WRITE) automatic variable addition.  
                       This is necessary before applying security that includes owner information.

01-03-07  mattwe       Bug 337688:  Updating security on shortcuts needed elevation
                       
01-03-07  cgouge       Bug 292429: missing else clause of condition in QI call of ConfigurableItem implemenation 
                       was causing collection query for each item to return E_UNEXPECTED when marshaling item
                       interface to remote machine.

01-03-06  cgouge       Bug 146423: mergemod now correctly fixes up file sequence numbers when passed a database
                       by handle.

01-03-05  chetanp      Bug 330733: fix sxs assembly sharing

01-03-05  chetanp      Bug 332434: fix sxs assembly installations

01-03-02  bench        Bug 326524: we now perform the necessary 64-bit to 32-bit folder mapping for 32-bit packages
                       in SetTargetPath (type 35 CAs).

01-03-02  cnapier      Bug 318875.  Updated fix in registry cost adjuster to include times when component is also
                       installed RFS.

01-03-01  cnapier      Bugs 182012, 318875.  Various ARP estimated size fixes.

01-03-01  cnapier      Bug 313359: disable messages from script custom actions in the UI thread (DoAction control event
                       invocation)

01-03-01  cgouge       Bug 318991: 64bit MSM story.

01-03-01  cgouge       Bug 331307: Orca could not set NULL into a nullable integer column, it would convert to 0.

01-03-01  eugend       Bug 146389: On Win64, for components that install into the 64-bit c:\windows\system32
                       folder we now refcount the keyfile when the component does not have the
                       msidbComponentAttributesSharedDllRefCount bit set in its Attributes field.
01-02-28  eugend       Bug 268610: MsiEnumComponentCosts skips disabled components now.

01-02-28  cgouge       Bug 287024: non-admins can no longer uninstall a per-machine managed app unless it is 
                       during an upgrade to another managed per-machine application.

01-02-28  eugend       Bug 299218: I've corrected the functionality of MsiGetComponentPath on Win9x
                       so that the assert doesn't fire anymore.

01-02-28  bench        Bug 320839: we now retain the acl's on shortcuts that we overwrite

01-02-28  eugend       Bug 302675: On Win64 we write now 64-bit like paths into the 32-bit SharedDLLs key,
                       just as any 32-bit legacy installer would do.

01-02-27  bench        Bug 282294: prevent basic UI dialog during upgrade install

01-02-27  chetanp      Bug 324175 - Absent Features not registered in multi-user scenario

01-02-26  bench        Bug 152180: to workaround a change in behaviour in Whistler where RunOnce values
                       are not run by default as a non-admin, we now prepend our RunOnce values with a '!'
                       on Whistler only, which causes the shell to revert to Win2K behaviour.

01-02-26  bench        Bug 260091: made a change to prevent INVALID_COMMAND_LINE error when passing properties
                       to service.

01-02-26  bench        Bug 262580: we use the proper event id when logging an internal error in the event log.

01-02-26  bench        Bug 263670: we now set the QFEUpgrade property whenever the "recache package" reinstallmode
                       is used, even if the PackageCode isn't changing.  this enables minor upgrades in cases where
                       we can't tell the PackageCode is changing, as in Intellimirror deployments.

01-02-26  bench        Bug 278200: re-worded ambiguous internal error for CRC checking.

01-02-26  bench        Bug 304429: when performing a major upgrade patch, we check the per-user vs. per-machine
                       state of the product being upgraded and ensure that the new install follows the same state.

01-02-26  bench        Bug 304472: fixed problem when patching an admin image as a non-user.  we weren't elevating when
                       creating temp files in %windir%\installer.

01-02-26  cnapier      Bugs 282835, 295342. Improved error messages for transforms and patches rejected by SAFER and
                       for attempting to install a package while running in SAFE mode on Whistler (our service doesn't
                       run in SAFE mode).

01-02-26  chetanp      Bug 312906 - installing same assembly via 2 packages fails during second install.

01-02-26  chetanp      Bug 295229 - Win32assembly installation failure on IA64

01-02-26  chetanp      Bug 281738 - Allow fault in of Win32 assemblies via MsiProvideAssembly API

01-02-26  chetanp      Bug 279284 - reboot action failure with assembly installation

01-02-26  chetanp      Bug 232662 - design issues with fusion and minor upgrades. The resolution is to mandate that
                       the darwin component id remains the same for assemblies that have been patched for minor upgrades.
                       We will not uninstall the published assembly information and remove the old assembly, if the assembly
                       has changed.

01-02-22  eugend       Bug 146251: Selected radio button controls have now their focus right after the user
                       jumps there from checkboxes disabled via ControlCondition table.

01-02-20  weiruc       Fix bug 179620, 180518, 181671. Ship error code 1609 added.

01-02-19  mattwe       Bug 315791:  We now create system restore points for deployed/advertised apps.

01-02-19  mattwe       Bug 188786:  inprocserver entries for msi.dll are marked apartment threading model.

01-02-19  eugend       Bugs 291277 & 231021: MsiAdvertiseProductEx sets Intel property correctly & MSICHECKCRCS
                       works correctly with source files that are split across several cabinets.

01-02-16  cgouge       Bug 310484, added additional shutdown code to config manager to handle advertise script
                       CA Manager leak.

01-02-16  rahulth      Integrate from VBL04. Also added admin\published\msi to the
                       private branch.

01-02-15  cnapier      Build 230 of msi.chm, msi.chi is now available.

01-02-12  cnapier      Bugs 207142, 249814: MsiZap requires admin privileges to run. MsiZap doesn't look like it is
                       rezapping entries when run twice in a row for the same product (UI improvement).

01-02-10  nadima       Bug 302805 (related to 215380): removed instmsia.exe and instmsiw.exe.  Terminal Server Client
                       needs them gone after all.  CR by mattwe

01-02-10  cgouge       Bug 305678. Eliminated potential crash if there is no previous record when unserializing 
                       a NULL record.

01-02-08  mattwe       Bug 215380: removed instmsia.exe and instmsiw.exe.  Terminal Server Client
                       needs them gone after all.  Will be checked in by NadimA.

01-02-08  cnapier      Build 229 of msi.chm, msi.chi is now available. This is the first post-Beta 2 build.

01-02-08  cnapier      Bug 284098: Product and package codes need to change for SDK packages (orca, msival2,
                       and msisdk) for RC1 SDK release

01-02-07  eugend       Bug # 292411: We can rest assured now that 32-bit MSI.DLL looks for
                       Darwin's config data in the 64-bit registry hive, when run on Win64.

01-02-07  cnapier      Bug 303015: LocalOnly component is not patched when its feature is RFS

01-02-07  cgouge       Bug 254349: Second fix for more scenarios where the UI menu options were incorrectly enabled.

01-02-07  cgouge       Bug 146377: Mergemod couldn't handle duplicate Directory CAs caused by multi-language modules.

01-02-06  cnapier      Bug 304760: MsiOpenPackage[Ex] returns wrong error code when file is not found

01-02-06  cgouge       Bug 275224: Orca no longer creates a no-name table on validation errors, and ICE03 now provides
                       a table name when complaining about missing _Validation entries.

01-02-05  cgouge       Bug 167515: Orca extract CAB from mergemod now has ".cab" as the default extension.

01-02-05  cnapier      Build 228 of msi.chm, msi.chi is now available. This is the official Beta 2 build of the docs.

01-02-05  cnapier      Bug 303027: new feature is installed during minor upgrade if attributes include
                       DisallowUIAbsent and FollowParent

01-02-04  cgouge       Bug 293622: Fixed problem with Orca where a new database would not save until after
                       the user visited the SummaryInfo dialog.

01-02-02  cnapier      Bug 302971: Remove dead code in CMsiInifileCost::GetDynamicCost.  No costing is done
                       on IniFiles (never has been done, even since Darwin 1.0).  Code was simply commented
                       out in case we decide to perform inifile costing in the future.

01-02-02  cnapier      Bug 288000, 288032. Orca and MsiVal2 no longer prompt for CD-Key during setup.
                       MsiVal2 now has license agreement text.

01-02-02  cgouge       Bug 285411: added assembly information for Orca to use new common controls.

01-02-02  cgouge       Bug 199842: persist "show info" option in Orca validation dialog.

01-02-02  rahulth      Bug # 303966 : Fix AV in CSecurityDescription constructor when
                       invoked from CSharedCount::Initialize.

01-02-02  cgouge       Bug 146364, 146366: Fix mergemod sequence merging issues when attempting to resequence an
                       action to a sequence number less than 0. 

01-02-02  cgouge       Bug 146364, 146366: Fix mergemod sequence merging issues when attempting to resequence an
                       action to a sequence number less than 0. 

01-02-02  cnapier      Bug 275805: Reading order of Hebrew and Arabic is wrong on mirrored dialogs (Windows 2000
                       and Whistler only).  On a mirrored dialog, WS_EX_RTLREADING style does not need to be
                       applied since the mirroring performs this automatically.

01-02-02  cnapier      Build 227 of msi.chm, msi.chi is now available.

01-02-01  rahulth      Bug 179330 : Fix instmsi so that it does not always return
                       ERROR_SUCCESS_REBOOT_REQUIRED on NT platforms. Note: The fix
                       to the darwin sources uses a new option in the sed file which
                       won't start working until IExpress is modified to handle the
                       new option.

01-02-01  cnapier      Bug 301070: Remove dead code for Digital Signature stuff

01-02-01  chetanp      Bug 295229 Win32 Assembly installation were failing on ia64 machine. Cause - non IMsiData derived 
                       interface pointerbeing stored in a table column

01-02-01  cgouge       Bug 271080: HKCU remap not working during after reboot. We now reinitialize the key remap
                       state after loading the inprogress information.

01-02-01  cgouge       Bug 271085: HKCU remap on TS machines not working during rollback. The TS-remap 
                       attribute is now stored in the script header and changed if necessary when the header opcode
                       is read. This may involve restarting the elevated CA servers if the key-remap state changes.

01-01-31  cgouge       Bug 288482: deferred custom action now correctly fails on 0 byte DLL from binary table. The failure 
                       is ignorable if the icaContinue bit is used.

01-01-31  cgouge       Bug 270225: installing from DBCS URL causes problems in volume object and source resolution.

01-01-31  cgouge       Bug 299247:  Fixed regression. CA writing to HKCU on TS machines now writes to .Default again.

01-01-31  rahulth      Bugs: 126069, 179206, 276317
                       126069 : named shared section for feature cache created with incorrect ACLs.
                       179206 : Disable Cancel on InstMsi
                       276317 : Non-admin. users cannot install 32-bit apps. on IA64

01-01-31  cnapier      Bug 273764:  MsiAdvertiseProduct[Ex] only returns ERROR_CALL_NOT_IMPLEMENTED on Win9x and NT4
                       when trying to create a script.  Per-machine and Per-user advertisements succeed.

01-01-29  bench        Bug 239223: fixed appcompat problem with Corel Draw 10.  this app was conditionalizing
                       out the InstallValidate action during uninstall.  the fix was to move some code that was
                       added in 1.5 to InstallInitialize, which will never be conditioned.

01-01-29  bench        Bugs 158817, 195574: checked in initial appcompat-transform integration infrastructure.

01-01-29  eugend       Bug 208157: I've reduced the number of registry API calls from
                       MsiProvideComponent[FromDescriptor] APIs.

01-01-29  cnapier      Bug 298516: MsiSip should not ignore digital signature streams of embedded substorages.  Only
                       the digital signature stream of the base storage file should be ignored.

01-01-29  rahulth      Bug 294166: Fix instmsi install on NT4 and hang during rollback of installations.

01-01-29  cnapier      Bug 258218: Cabinet downloads from the web ignore suminfo compression marking and instead,
                       makes an assumption as to the source type.

01-01-29  cgouge       Bug 292313: removed double critsec exit on failure in RemoteAPI thread. This was causing a hang in
                       the service while waiting on the critsec even though it wasn't owned by any threads.

01-01-25  weiruc       Fixed bug 184647 and 146314. Added resource strings for
                       MUI shell friendly display name and shell verbs. Added
                       ICE80 that verifies that packages containing 64 bit
                       components and scripts have "Intel64" in their template
                       summary information stream and that their page count
                       is greater than or equal to 150.

01-01-25  rahulth      Bug 285469 and bug 282032: Make NT4 SP6 the min. requirement and make instmsi
                       prompt for reboots on Win2K.

01-01-25  mattwe       Bug 252300: Suspended installs now get correct system restore checkpoints.  

01-01-25  bench        Bug 292525: checked in a new private fusion.h to correspond to some changes being made
                       in fusion.dll.

01-01-25  mattwe       Bug 252903: LimitSystemRestoreCheckpointing machine policy set to 1 disables calls to 
                       system restore.

01-01-25  eugend       Bug 291476: On Win64 MsiSourceListClearAll called from a 32-bit process looks now for
                       configuration data in the right spot in the registry (in the 64-bit hive).

01-01-25  cgouge       Bug 271067: client with restricted token rights was failing to create CA due to a request
                       for too many access rights on the token while detecting enabled token privileges.

01-01-24  mattwe       Bug 268319: System restore checkpoints will not be created when install is run with no UI.
                       This prevents checkpoints from being created during logon/logoff deployment.

01-01-24  mattwe       Bug 249859: System restore checkpoints will not be created during admin installs (msiexec /a)
                   
01-01-24  cnapier      Bug 254547: Logitech Wingman 3.62 software no longer installs (due to
                       ComputeAccessTokenFromCodeAuthzLevel failing to return a primary token when supplied
                       an impersonated token marked inert)

01-01-24  bench        Bug 281076: fix to enable having 3 binary patches applied to a single file at the same time.

01-01-24  bench        Bug 285290: hashing now works properly with 0-byte files.  previously a 0-byte file would always
                       mismatch with the hash in the .msi.

01-01-24  bench        Bug 285313: when applying a patch containing a full-file, we would still resolve the original source
                       path, which may prompt for CD or network, even though the file is in a .msp file which isn't at that
                       source.  this has been fixed.

01-01-24  cgouge       Bug 278238: IA64, failure when registering typelib from 32bit CA server for RFS component. The
                       elevated CA servers can now impersonate the user using standard CImpersonate, etc.

01-01-24  eugend       Bug 275768: Fixed an error in ...\src\msiexec\server.rc file.

01-01-24  cgouge       Bug 275093: Improperly registering DBCS RFS path with some Kanji characters.

01-01-24  cgouge       Bug 271872: MSI service now shuts down 10 minutes after the last connection to it is
                       destroyed.

01-01-18  cnapier      Bug 287807: Non-admins could not install office 2002 

01-01-19  cgouge       Bug 283920: Mergemod not merging directory tables due to bad conditional statement.

01-01-19  mattwe       Bug 254685:  MSI+SR bug where we reported failure to create restore point when
                       system restore was simply disabled.  See also 287584 for System restore return
                       code bug.

01-01-15  cnapier      RI-Blocker bug 280623, bugs 280605, 280693, 280716, 280779. Problems with Safer -- Installer
                       interaction with app deployment. Basic gist was invocation of advertised product install via
                       product code was not properly applying Safer policy to the package (which wasn't cached at the
                       time)

01-01-12  bench        Bug 258432: our check for writable drives has changed to creating a temp folder at the root
                       of the drive rather than a temp file.  this was prompted by changes to the default ACLs on drives
                       in Whistler.

01-01-12  mattwe       Bug 249859: System Restore integration with MSI now only writes checkpoints
                       for installing and uninstalling a product.

01-01-12  eugend       Reverted previous changes:
                       Bug 221770: I've fixed MsiGetcomponentPath as not to look for components installed
                                   by other users.
                       Bug 248662: I've reverted MsiGetProductCode to the way it was before my 00-12-14 checkin.

01-01-12  eugend       Bug 269922:  On Win64, 32-bit Darwin is able now to locate files in the
                       64-bit %windir%\System32 directory.

01-01-12  rahulth      Bugs 254703, 272083: Fix theming problems which prevented
                       certain dialogs from showing up on Whistler. Make instmsi and
                       darwin 1.5 custom actions work on NT 4.0.

01-01-12  mattwe       Bug 275994:  Off by one error in setting restore point names crashed.

01-01-12  cgouge       Bug 249790: changed error string for error 2762.

01-01-12  mattwe       Bug 267121:  instmsi.sed is re-generated when a full postbuild is re-run.
                       This fixes problems with localization builds.

01-01-11  cnapier      bugs 277515, 277885: Msi files can now be digitally signed and include timestamps.
                       MsiGetFileSignatureInformation can now handle timestamped files.
 
01-01-11  cnapier      bugs 172263, 224218, 224335: SDK bug fixes.  MergeMod.cub now has all correct entries in
                       its _Validation table.  DbReadme.txt and PReadme.txt are now installed in the DATABASE and
                       PATCHING folders to describe the contents (part of PSDK sample scrub).

01-01-11  cnapier      bug 253489: Changed string for internal error (id 5 in Error table)

01-01-11  cnapier      bug 146132: Support for transforms at URL sources.

01-01-11  cnapier      bug 193684: ODBC DSNs are registered incorrectly on Win64.  Elevated custom action servers
                       now remap HKCU. On Win2K and above for terminal server per-machine installs, HKCU is not 
                       remapped and instead, remains HKCU\.Default

01-01-11  bench        Bug 202751: fixed appcompat issue with embedded nested installs using compressed files.
                       Specifically this affected Commerce Server 2000.

01-01-11  cgouge       Bug 151868: Mergemod extract files fails for second file on UNC path.

01-01-11  cgouge       Bug 146587: Mergemod file extraction from CAB needed to convert file date/time to UTC
                       before setting time on disk.

01-01-11  cgouge       Bug 254329: Disable patch UI when no document loaded in Orca.

01-01-11  cgouge       Bug 254325: UI change for editing transforms in Orca.

01-01-11  cgouge       Bug 247819: Scripts that create installer objects via CreateObject now have the creation
                       process hooked and passed to the service. This is primarily an appcompat fix for apps
                       that assume the script is running in-proc with the engine and thus objects can be
                       freely passed between the two.

01-01-10  cgouge       Bug 195877: Added force commit option to orca command line.

01-01-10  cgouge       Bug 225867: Invalid CA source on IA64 caused reboot due to error translation problem.

01-01-10  cgouge       Bug 122597: AppCompat fix for packages with first DiskId not 1. 

01-01-10  cgouge       Bug 273472: Orca sometimes does not show rows after viewing a patch or transform.

00-01-10  cgouge       Bug 273853: Remove blocking message in TS per-user install mode.

01-01-08  rahulth      bug 272260: make instmsi exit more gracefully in case of errors.
                       Especially if it fails to register successfully from the temp.
                       store or if setupapi fails to install the files on Win2K.

01-01-03  chetanp      bug 172602: fix when to remove product registration in legacy location in multi-user scenario

01-01-03  chetanp      bug 175007: remove thread-unsafe global regkey in APIs

01-01-03  cnapier      bug 266869: uninstall of Office10 from ARP now works (problem was missing initialized
                       SAFER level)

01-01-03  rahulth      Bug 214325, 253110: Register installer from the system folder
                       right after installation on NT systems. NT allows rename and replace
                       and therefore at the end of the installation, all the right binaries
                       are already in the system folder.
                       Bug 256849: Use MsiCreateAndVerifyInstallerDirectory() in msiinst to 
                       create the installer folder with the right security.

01-01-03  chetanp      bug 269368: change msi to use new URT/ Win32 interfaces

01-01-03  chetanp      bug 146207: pass HOMESHARE across from client on NT < Whistler

01-01-03  eugend       Bug 254703: Darwin's UI supports theming now.

01-01-02  mattwe       Bug 261363: reverted 151680 that broke token privileges needed
                       to restore ownership on files being overwritten by a user.

01-01-02  mattwe       bug 257423: Establish DACL for global mutex objects.

01-01-02  chetanp      bug 239042: managed apps enumerated twice via MsiEnumProducts

01-01-02  chetanp      bug 265042: alignment fault when using jpegs in UI