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