windows-nt/Source/XPSP1/NT/admin/darwin/doc/relnot00.txt
2020-09-26 16:20:57 +08:00

1836 lines
106 KiB
Plaintext

Darwin Setup Development Notes for Testing Releases
00-12-29 eugend Bug 261198: On Win64, Darwin now removes keys in the 32-bit hive.
00-12-18 eugend Bug 152754: When installing 32-bit packages on Win64 we fix up hardcoded directory names
that would land files belonging to 32-bit components into 64-bit binary directories.
00-12-18 eugend Bug 214525: On Win64, Intel property is set to the same ProcessorLevel value that
GetSystemInfo API returns when called from a 32-bit process (currently 5,
i.e. Pentium processor).
00-12-18 chetanp bug 146464: support rollback of assemblies across reboots.
00-12-18 mattwe Bug 261050: Migrate10CachedPackage API is now stubbed in to allow Office 10 setup
on Whistler.
00-12-18 cnapier Bug 259080: fix assert in DebugDumpIxo
00-12-17 chetanp bug 217058: Added new DisableUserInstalls machine policy that will cause the following -
1> All our APIs currently search for product "visibility" in the order -
per user managed, then per user non-managed, then per machine - Setting this policy will
cause the APIs to ignore the per user managed and per user non-managed registration and
only use the per machine information.
2> During an install, at the time of script execution, if the installation is being attempted
as per user, then we will pop up an error message and abort the installation. This will be at
the same place as where we currently we check that the current user is an admin if the install
being attempted os for all users (So this will allow ample opportunity for a CA or such to muck
with the ALLUSERS property).
We will recommend that on TerminalServer in AppServer mode this policy be set.
00-12-16 bench Bug 253820: fix a compat problem with existing but poorly authored packages.
We now tolerate invalid DefaultDir values in root rows of the Directory table.
These errors were tolerated in 1.1, and many packages have these errors, so we continue
to tolerate these errors for packages that don't require 1.5 Windows Installer.
00-12-16 bench Bugs 258778, 259265: fixed a couple of BVT/Setup/Boot breaks caused by the
multiple user api changes.
00-12-16 mattwe Bug 146230: ODBC configuration for non-elevated installs now occurs in the
impersonated custom action server, similarly to 32 bit configuration on 64
bit machines.
00-12-16 mattwe Bug 188786: Our Inprocserver32 entries are now marked explicitly with the
apartment threading model.
00-12-16 chetanp bug 198377: COM+ Fusion: WI prematurely uninstalls assembly shared across products if
componentid is not same. We now enumerate through all the published descriptors for
the assembly to check if any point to a installed component (no matter what the component id)
before unpinning the assembly
00-12-16 cgouge Bug 239108: Impersonated custom action servers now grant interactive users COM
execute rights.
00-12-16 cgouge Bug 227396: Install-mode check now works on Windows 2000.
00-12-15 cgouge Bug 212570: Orca installer now registeres new MergeMod CLSIDs.
00-12-15 cnapier Bug 169494: Adjust shortcut paths to user profile shell folders when ALLUSERS is
changed in the UI sequence.
00-12-15 cgouge Bug 212570: Orca installer now registeres new MergeMod CLSIDs.
00-12-14 cnapier Checked in build 223 of msi.chm and msi.chi
00-12-14 mattwe Bug 146292: Internet downloads of cabinets are now also cleared from the
cache when no longer needed
00-12-14 mattwe Bug 215380: We now put copies of InstMsi (unicode and ansi) in %_NTPOSTBLD%.
They're named InstMsiA.exe and InstMsiW.exe
00-12-14 eugend Bugs 221770, 248662, 248663 & 248664: MsiGetComponentPath, MsiGetProductCode,
MsiQueryProductState & MsiLocateComponent APIs had been modified as to handle
products installed by other users.
00-12-14 cnapier Bug 256337: SAFER assert was firing on Win9X. The assert was disabled for non-Whistler platforms
since SAFER isn't applicable to those platforms. The assert is still present on Whistler.
00-12-13 cgouge Bug 192809: UISequence custom actions now receive tokens with the same privileges sets as
the client. Impersonated execute sequence actions still only receive tokens with
privileges that were pre-enabled in the client.
00-12-13 mattwe Bug 214189: InstMsi now puts its temp files again in the windows\Installer sub-dir.
Engine now only asserts if resolving source in exactly windows\installer, not subdirs.
00-12-13 chetanp Bug 213093: COM+ Fusion: Rollback on global assembly works inaccuratly in Multi-user scenario
00-12-12 cgouge Bug 199268: When installing from media, the actual media relative path is used even
if the media contains an admin image with a path in the AdminProperties stream.
(We register the path we know you have).
00-12-12 bench Bug 163146: we now handle a mismatch between the registered package code and the package
code in the cached database. this mismatch can occur when installing one package
then advertising another.
00-12-12 bench Bug 252656: move some calls to SAFER around to avoid allocating too many SAFER tokens at one
time in multi-threaded scenarios.
00-12-12 mattwe Bug 252440: Crash in msi.dll after calling SRSetRestorePoint
00-12-11 chetanp Bug 146429: Isolated file with condition=false is still installed
00-12-11 cnapier Bug 238762: get msidb to work on downlevel platforms in GUI mode
00-12-11 cnapier Bug 180824: msizap shouldn't leave Installer keys in bad state when acl'ing for admin.
Now msizap adds admin full control and ownership, but leaves permissions for system
and everyone alone.
00-12-11 cnapier Bug 238789: move msimsp.exe to Patching folder in WI SDK
00-12-11 cnapier Bug 213286: Change product and package codes for orca, msival2, and SDK msi's.
00-12-11 cgouge Bug 219616: Source resolution dialog was not generating disk prompt correctly for
media sources.
00-12-08 cnapier Checked in build 222 of msi.chm and msi.chi
00-12-07 cgouge Bug 146223: Reworked ICE30 to use parameter queries so that directory names with
apostrophe's will not cause invalid query strings during validation.
00-12-07 cgouge Bug 240029: Prefix bug in msiregmv.
00-12-07 cgouge Bug 146516: Fixed problem with self-unreg of mergemod when the reg keys were
already missing.
00-12-06 chetanp Bug 232103: remove cleanup code of class registration since its not needed for
new per user component mgmt logic.
00-12-06 cgouge Bug 146515: Configuration of long strings in a CMSM would cause AV writing to log file
during merge process.
00-12-06 cgouge Bug 227396: Detect per-user installs on TS when in install mode and block with new
ship error 1730.
00-12-03 chetanp Bug 146375: Rename MsiURTAssemblySupport MsiNetAssemblySupport
00-12-03 mattwe Bug 146292: Flat files downloaded from URL sources are now deleted from
the URL cache as soon as they're in place. (WININET::DeleteUrlCacheEntry)
00-12-02 cnapier Bug 238750: added version and copyright info to msimig.dll and msimig.exe
00-12-02 cnapier Bug 238802: moved copyright info to first line in msizap
00-12-02 cnapier Bug 192765: web bootstrap no longer uses private header
00-12-02 cnapier Bug 31791: Add mirroring support for BiDi dialogs on Win2K and greater
00-12-01 mattwe Bug 151680: Only enable SE_RESTORE_NAME and SE_TAKE_OWNERSHIP_NAME token
privileges during restoration of failed installs (rollback.) This prevents
gratuitous use of unnecessary privilege. (And associated auditing if
turned on.)
00-12-01 chetanp Bug 168798: pvt Win32 assemblies support in WI. See text file attached to bug
for details of the changes.
00-12-01 mattwe Bug 146390: System Restore on Whistler now uses nested checkpoints for
installs.
00-12-01 mattwe Bug 245366: Cabinet files are now extracted from threads which correctly
impersonate. Prevents files from being created with LocalSystem privileges.
00-12-01 cgouge Bug 218473: msidbCustomActionTypeHideTarget hides CustomActionData script field as
well from log files (in addition to Target field)
00-12-01 cgouge Bug 222706. Orca now handles an invalid string in an integer column by showing an
error messoge instead of silently corrupting the data.
00-12-01 cgouge Bug 148579, 185298. Fixed stall in custom action launch caused by service threading
model. Simultaneously fixed CA server shutdown issue when the apartment is kept
alive across install sessions.
00-12-01 cnapier Bug 245583: fixed SelfReg when ALLUSERS != 1. Problem was caused by the SAFER
implementation.
00-12-01 rahulth Bug 210402: MsiProcessAdvertiseScript[A/W] are now public functions.
Also, MsiProcessAdvertiseScript[A/W], MsiAdvertiseProduct[A/W],
MsiAdvertiseScript[A/W], MsiGetProductInfoFromScript[A/W] and
MsiIsProductElevated[A/W] will now only run on Win2K and higher platforms.
For lower platforms, they return ERROR_CALL_NOT_IMPLEMENTED.
00-11-30 cgouge Bug 210919: Client-side DLL custom actions now use the exact environment
block used by the client. The block is passed to the service and used during
process creation. Multiple client contexts with different users now gives
each server the correct block.
00-11-30 bench Bug 241687: as part of allowing non-admins to run the 2nd phase of ForceReboot installs,
we are now prepending our RunOnce value names with "MSI_". the shell will run these commands
even when the user is a non-admin.
00-11-30 bench Bug 244739: added MSICHECKCRCS and FASTOEM to the list of properties that can be passed to the service
even when the EnableUserControl policy is not set.
00-11-29 mattwe Bug 146390: System Restore check-pointing is now enabled on Whistler, with
the same feature set as our support on Millennium. No, your install has
not hung, the check-pointing is slow. Restore team is working on perf,
and on builds prior to 2407, you'll see a second blank-checkpoint
created for the end of the install.
00-11-29 cgouge Bug 228782: Prefix bug in mergemod directory table merge.
00-11-29 chetanp Bug 244331: Fix Assembly code to honour File_Mainfest column, when non-null (as opposed
to always treating the key path of the component as the manifest file for the assembly.
00-11-29 chetanp Bug 146375: Define 2 new properties - MsiURTAssemblySupport and MsiWin32AssemblySupport
set to the file versions of the underlying infrastructure files fusion.dll and sxs.dll resp.
On m/cs that do not have the corr. support these properties will remain unset.
00-11-29 cnapier Bug 224383: PSDK sample scrub of wireadme.txt
00-11-29 bench Bug 162066: don't set DISABLEMEDIA during admin install in some cases.
00-11-27 cnapier Checked in build 221 of msi.chm, msi.chi
00-11-27 cnapier Bug 143544: Improve Basic UI cancel button. If the cancel button is clicked,
the button is disabled (grayed-out) and the banner text "Canceling..." is
displayed.
00-11-27 mattwe Bug 206040: Installer auto-retries when downloading a file from URL fails.
Bug 146391: Installer now sends "keep alive" messages during database
caching from a URL, and downloading individual files.
00-11-27 bench Bug 146227: added support for patching fusion assemblies.
00-11-22 cnapier Bug 146566: Fixed costing of MsiSetFeatureState with Feature="ALL"
00-11-22 chetanp Bug 184661: AD: Once a failure to install an applicaiton is fixed, the icon is always incorrect.
00-11-22 cnapier Bug 163155: Implement Msi / Safer interaction. Windows Installer will call
SAFER to determine if a package, patch, or transform is fully trusted. Only
fully trusted ("unrestricted") objects can be installed.
00-11-20 chetanp Bug 198439: Fixed shared component/Shared dll logic for Win9x
00-11-15 eugend Bug 233716: Darwin client reports mem. leaks when closed via ExitProcess.
00-11-15 cnapier Checked in build 220 of msi.chm, msi.chi
00-11-15 cnapier bug 146479 - MsiFiler fails when related package is on system.
00-11-15 cnapier bug 217744 - MsiOpenPackageEx API
00-11-15 cnapier bug 146201 - do not reboot if creating an advertise script
00-11-15 cnapier bugs 228805, 228806 - fixed Prefix issues in setup.exe web bootstrap tool
00-11-14 cnapier bug 225495 - fixed misspellings in License Agreement dialog in UISample and MSI SDK
00-11-14 cgouge Bug 222748: MergeMod backwards compatibility of Merge function during
merge of table with a merge conflict.
00-11-14 eugend Bug 217795 & 220325: No more assertions if Control table is missing and
VirtualMemory property is set correctly on Win64 machines.
00-11-14 mattwe We now build the SDK automatically in the builds. The post build
must be run to finish.
Bug 191120: MsiSpy has been removed from normal builds.
00-11-14 eugend Bug 203377: ship Darwin stopped reporting info message 2898 as
"internal error 2898" in the log file.
00-11-14 cgouge Bug 172261: Added MSM 1.5 constants to mergemod.h
00-11-14 cgouge Bug 175567: At EXE CA that AVs does not trigger any Windows error dialogs.
00-11-13 eugend Bug 185528: Cabinet extraction doesn't fail anymore when a CD drive returns
invalid data, but retries the operation.
00-11-13 eugend Bug 146363: Full UI scales now when larger/smaller monitor fonts are in use.
00-11-09 mattwe Bug 146541, 213456, 211779: The current fix is to simply use the same
environment block for both elevated and impersonated custom actions.
The block will start as the system's. To this, everything from the
user's environment will be added EXCEPT the path. This ultimately
results that the temp will always be the user's, and the path will
always be the machine's.
00-11-09 mattwe Bug 181120: Fixed the console window that appeared running InstMsi in
yet another new and exciting way. This appears to have finally
given us the "old" behavior.
00-11-09 cnapier Checked in build 219 of msi.chm, msi.chi
00-11-08 cgouge Bug 146564: implemented detection of custom action stack corruption
in ship builds. A message is sent to debug output when a problem is
detected.
00-11-08 mattwe Bug 220353: InstMsi now correctly builds incrementally. You should
be able to nmake /f %_NTPOSTBLD%\instmsi\[ansi | unicode]\instmsi.mak
directly without running msi.cmd
00-11-08 mattwe Bug 204570: MsiExec /regserver now creates description for service
on Windows 2000 and later versions of NT
00-11-06 cgouge Bug 129548: implemented non-secure transform migration during Win9X upgrades
for non-profile scenarios where apps move from per-machine to per-user.
00-11-06 bench Bug 146334: fix intermittent crash during ForceReboot with /L*V!.
00-11-06 cgouge Bug 146484: Orca would get confused with read-only files and the MRU list.
00-11-02 cnapier Checked in build 218 of msi.chm, msi.chi
00-11-02 cnapier Checked in build 217 of msi.chm, msi.chi
00-10-31 cgouge Bug 205994: MsiRegMv creates the SharedDll key if one does not exist.
00-10-31 chetanp bug 198439 - revert back cfg. data layout on Win9x to 1.1/1.2 format
00-10-31 mattwe Bug 181120: Fixed InstMsi console window that appeared
00-10-31 cnapier Bug 146397: MsiAdvertiseProductEx API for architecture simulation during
advertise script creation
00-10-31 cnapier Removed PatchWiz Src from SDK. Added MSI 1.5 Beta 1 SDK batch file
to %_NTTREE%\admin\darwin\src\sdk
00-10-31 bench Bug 211736: fix problem applying overlapping patches to an admin image.
00-10-28 cgouge Bug 146649: MSI CA manager now ensures appropriate process ACLs before launching CA server
for both client and service actions.
00-10-27 cgouge Bug 205551: Fixed big memory leak in Orca and tweaked column-width code to support new
storage format.
00-10-27 cgouge Bug 199772: Immediate custom actions are back to being denied elevation rights.
00-10-27 mattwe Bug 146330: InstMsi now places its temporary files in a subdirectory from the temp folder,
and secures it with the same DACL as the windows\installer folder. InstMsi should now
be ready for test consumption on all platforms.
00-10-26 cgouge Bug 205563: Win9X upgrade migration now handles the case where a user name is the same as
the machine name when profiles are turned on.
00-10-25 cnapier MsiSpy no longer includes pdb files.
00-10-25 mattwe Bug 146330: InstMsi will now prompt for a reboot on Windows 2000 appropriately,
Removed static linking to setupapi.dll
00-10-25 cnapier Bug 207156: fix msizap to actually zap the product from the Uninstall key
(if no one else has the product installed)
00-10-24 cnapier Checked in build 216 of msi.chm, msi.chi -- this how now been declared the
Windows Installer 1.5 Beta 1 build due to some technical content that needed
to be changed prior to release
00-10-24 eugend Bug 146325: Darwin does not display drives that are hidden via system policy.
00-10-23 cnapier Checked in build 215 of msi.chm, msi.chi -- first Beta 2 build
00-10-23 cnapier Bug 195470: Better error message for case where registered product language differs from
package language (happens in recache case)
00-10-23 cgouge Bug 146624: Client CAs now call AllowSetForegroundWindow to pass foreground rights to
the CA server before invoking the CA.
00-10-23 cnapier Bug 210375: Setup.Exe internet download bootstrap now takes advantage of the instmsi
delay reboot option (instmsi /c:"msiinst /delayreboot") and loads msi.dll from the
registered Windows Installer folder now written to HKLM\SW\MS\Windows\CV\Installer
InstallerLocation: REG_SZ
00-10-23 cnapier Bug 146616: Automated MsiGetFileSignatureInformation API (it's now the FileSignatureInfo
method of the Installer object)
00-10-20 eugend Bug 138538: I've uncommented the 2 FailAssertMsg calls in IMEMORY.CPP.
00-10-20 cgouge Bug 198943, 192292. Prefix fixes in migration.
00-10-19 cnapier Bug 157550: Support for Null DestFolder in DuplicateFiles table
00-10-19 chetanp Bug 175378: We now do not uninstall the files in a COM+ or URT assembly ourselves
Instead we rely on the fusion interface to do this for us.
00-10-19 chetanp Bug 186912: we have stopped using the logo3 guid for darwinized shortcuts
00-10-19 chetanp Bug 208456: Darwin generates fatal error if attempting to repair broken assembly
00-10-19 chetanp Bug 146169: Prevent multiple closing of registry handles in RegKey object.
00-10-19 chetanp Bug 206805: Allow further enumerating of products via MSiEnumProducts even if
we encountered a corrupt product code entry.
00-10-19 cgouge Bug 146500: trigger immediate TS reg propogation to current user after closing the
registry window during an install. This prevents endless repair of shortcuts that
verify HKCU keypaths until the next logon.
00-10-19 bench Bug 206811: fix multi-threaded access to global IMsiServices pointer.
00-10-19 eugend Bug 146153 again: Darwin is displaying the right message if it comes across a
corrupt cabinet.
00-10-18 cgouge Bug 146477: Reboot call from the client to the service now authenticates using the
correct COM impersonation token.
00-10-17 bench Bug 146311: the AFTERREBOOT property is now set from the In-Progress information
rather than the RunOnce key.
00-10-17 bench Bug 146329: in our event log entry for failed component detection, we now include
the actual resource (file, folder, regkey or regvalue) that we couldn't find.
00-10-16 cnapier Checked in build 214 of msi.chm, msi.chi. This is the Windows Installer 1.5 Beta
1 SDK release build.
00-10-16 cgouge 200235 - orca shadow table pane is now cleared when closing the database while a
shadow table is active.
00-10-16 eugend Bug 194081: debug Darwin loads symbols only if it has a memory leak to report.
00-10-16 cnapier Checked in build 213 of msi.chm, msi.chi
00-10-13 mattwe Bug 146330: InstMsi will now install its main bits via an Exception INF on Windows 2000
InstMsi will not run on Whistler
00-10-13 eugend Bug 185588 again: fixed an AV in ship builds and modified the process to build
a .LIB file instead of a .DLL.
00-10-13 cnapier Checked in build 212 of msi.chm, msi.chi
00-10-11 cgouge Bug 202286: Orca data corruption on add of new row in localizable column.
00-10-11 cgouge Bug 199778: The MsiBreak environment variable is ignored for non-admin users (since they
don't have permissions to debug a CA anyway.)
00-10-11 cgouge Bug 146179: Commit custom actions now elevate based on the isaElevate flag in the script,
which is itself set based on the original scripts m_fRunScriptElevated member.
00-10-11 mattwe Bug 146330 (partial fix) Changes to InstMsi builds to create
catalog and exception INF.
00-10-11 cgouge Bug 198942: Prefix: returning pointer to freed memory in CSIDPointer
00-10-11 cgouge Bug 197267: Better logging for execution scheduling options.
00-10-10 eugend Bug 185588: I've provided a workaround for the broken MsiGetShortcutTarget API in
ANSI builds < 1.20.1710
00-10-10 cgouge Bug 192293. Prefix: leaked memory in writecfg.cpp.
00-10-10 cgouge Bug 194454. Fixed endless loop in source resolution no UI mode when media source is invalid.
00-10-09 cnapier Checked in build 211 of msi.chm, msi.chi
00-10-09 cgouge Bug 171016: Prefix: using uninitialized memory in migsecur.cpp
00-10-06 cnapier Checked in build 210 of msi.chm, msi.chi
00-10-06 eugend Bugs 181468: Listbox controls in Darwin UI can display horizontal scrollbars now.
00-10-04 cnapier Fixed building of msispy in order to properly create the type library.
00-10-03 cnapier Checked in build 209 of msi.chm, msi.chi
00-10-02 cnapier Bug 146647: add ICE76 to source depot
00-10-02 eugend Bugs 166442: SelectionTree control displays now icons when the control is authored
to be displayed on a dialog run in reinstall mode.
00-10-02 cnapier Bugs 191416, 194810: fix ICE03 regression (194810) and fix ICE03 so as to not error on
type 37 and 38 custom actions where the formatted Target column is treated as literal
script text rather than formatted text
00-10-02 bench Bug 194988: MsiFiler now dynamically binds to MsiGetFileHash, so the tool will still work on
Win2000 (with 1.1 Darwin). also the MsiFileHash table is not populated at all (even if the
table exists) unless the -h option is supplied.
00-10-02 cgouge Bug 187505: Leaked Handle message is not posted when the CA is called from a dialog control
event to prevent deadlocks in the message handler. The handles themselves are still closed.
00-10-02 cgouge Bug 146509: MsiRegMv no longer creates a backup hive during upgrade migration unless in a debug
build with the -backup flag specified.
00-09-30 chetanp Bug 146127: Fixed registry limitation for inprogress key on Win9x, got psdk installation going.
00-09-30 chetanp Bug 164462: Changed multi-user component management rules to remove component if installed to
the same location.
00-09-29 cnapier Bug 146149: update msicert for use with SDK -- new command line options for populating the MsiDigitalSignature
and MsiDigitalCertificate tables. msicert -d {database} -m {media entry diskId} -c {digitally signed cabinet} [-H]
00-09-29 cnapier Bug 193877: fix uisample.msi to properly handle selection of Repair option in MMode
00-09-28 eugend Bug 146342 & 146607: two fairly minor full UI issues.
00-09-27 bench Bug 146105: added the MsiNTProductType, MsiNTSuiteBackOffice, MsiNTSuiteDataCenter,
MsiNTSuiteEnterprise, MsiNTSuiteSmallBusiness, MsiNTSuiteSmallBusinessRestricted,
and MsiNTSuitePersonal properties.
00-09-27 eugend Bug 146247: IOD (actually, the network connection) dialog has the correct
text when browsing is disabled.
00-09-27 bench Bug 146589: MsiFiler will now optionally create the MsiFileHash table if it
doesn't already exist.
Also changed the command-line for msifiler so that every argument has its own switch
00-09-27 cnapier Update schema.log file in %sdxroot%\admin\darwin\data\schema.idt. This is the log of schema changes between
Windows Installer versions that ships with the SDK
00-09-27 eugend Bug 146205: I've removed Wx86 code branches from the code.
00-09-26 cnapier All SDK files are now available in the darwin source tree. The SDK Msi package is built at the same time as
all other packages (although some tweaks are still needed for postbuild).
00-09-22 bench Bug 182375: on Win2K and above, we call the GlobalMemoryStatusEx api, which gives
more accurate information for the PhysicalMemory and VirtualMemory properties.
00-09-22 bench Bug 182386: we no longer set the following undocumented properties:
MemoryBytes, TotalPageFile, TotalVirtualMB, TlsIndex, AvailablePageFile,
AvailablePhysical, AvailableVirtual, TotalPhysical, TotalVirtual
00-09-21 cnapier Bug 185272: Fix setting of Intel property to include IA64 (backwards compat) and fix setting
of Intel64 property to be dependent upon g_fWinNT64 rather than compilation as 64-bit
00-09-21 cnapier Bug 146632: Fix MsiSip problems on Win98 Gold due to bad version of ole32.dll (4.71)
00-09-20 bench Bug 146246: fix internal error when patch applied to sfc-protected or acl'ed file
00-09-20 bench Bug 146307: fix internal error when installing file to innaccessible folder
00-09-20 bench Bug 183364: we now properly handle a missing companion file when patching
00-09-20 cnapier Bug 146306: Fix AV in SetInstallLevel when package contains 0 components
00-09-19 cnapier Bug 146155: Allow for FILE_FLAG_DELETE_ON_CLOSE when using MsiRecordSetStream (requires specifying
FILE_SHARE_DELETE whenever we attempt to open the file)
00-09-18 chetanp Bug 146139: Calling MsiProvideComponent with INSTALLMODE_NOSOURCERESOLUTION flag
on local broken component incorrectly returns ERROR_INSTALL_FAILURE. Fixed to now
behave similar to INSTALLMODE_NODETECTION and return ERROR_SUCCESS.
00-09-18 weiruc Bug 146365: ICEM12 added to validate module sequence tables. All custom actions
and dialogs must have BaseAction and After values, all standard actions must
have sequence numbers.
Bug 146378: ICEM07 added error message to distinguish a non-existent file in the
cab file from a badly sequence numbered one.
Bug 146396 ICE23 uses MsiOpenDatabase which can not be remoted which causes the
ice itself not being remoted. Instead of using a temporary database, instead use
the existing one, but generate a random name for the temp table to avoid name
collision. Also uses retry when the random number didn't work out.
Bug 164784: ICE78 added to validate the AdvtUISequence table is either empty or
does not exist.
00-09-18 cnapier Bug 176137: unchecking all features in UI still installs on NT
00-09-18 chetanp Bug 146167: msiexec /ju was not setting ALLUSERS property on command line
00-09-15 mattwe Bug 184285: mspatcha.dll is now on our SFC bypass exception list for Windows 2000
00-09-14 cnapier Bug 146198: Inaccurate error message when accessing '.Features' property of Windows Installer object
00-09-14 bench Bug 181813: we now correctly impersonate when determining if the user is an admin.
This bug was exposed when source resolution was delayed until the point where the
service elevates to perform a managed install.
00-09-14 cnapier Bug 181324: Install RFS shared component during reinstall if at least one feature is requesting a reinstall local
or is explicitly going local
00-09-14 bench Bug 146580: when patching an admin image where the .msi is read-only, we take the read-only
attribute off (along with hidden and system) temporarily while update the .msi and put the
original attributes back when finished.
00-09-13 cnapier Bug 146316: A component is not disabled if the keypath is an unversioned file whose existing file on the system
is modified (though file install versioning rules will still come into play)
00-09-13 cnapier Bug 172334: OutOfRbDiskSpace message updated. The cost in KB is now formatted according to CurrentUserLocale
(i.e. instead of 1460000 KB, you'll get 1,460,000 KB on US or 1.460.000 KB on Italian systems)
00-09-13 mattwe Bug 146137: We no longer attempt to load SFC.DLL on NT4 (caused problems when another
app installed a file by this name.)
00-09-13 chetanp Bug 177454: use ManagedLocalPackage instead of LocalPackage to register cached msi
for user assigned apps.
00-09-12 bench Bug 182050: new error for general SfcInstallProtectedFiles failure that isn't for a
particular file.
00-09-12 bench Bug 146486: we no longer complain about failing to remove a product during an upgrade
if the error table happens to have 2 rows for the same existing product.
00-09-12 cgouge Bug 157268: MSI now filters return codes from custom action DLLs and scripts. Anything that is
not an approved return code is mapped to failure instead of triggering some random result.
00-09-11 bench Bug 146122: the "installation completed successfully (or failed)" event log entry is
now more specific about the type of install that happened. we have different entries for
install, uninstall, advertise and configure.
00-09-11 bench Bug 30867: when an install is invoked as an uninstall (so that the installer knows its an
uninstall at the beginning) the basic UI dialog says "Preparing to remove..." instead of
"Preparing to install..."
00-09-11 bench Bug 166964: changed "failed to create temp file" error from debug to ship.
00-09-11 bench Bug 181624: we don't ignore failure to write extension registry goop any longer.
00-09-11 bench Bug 169413: some global const strings were not defined as const, causing some perf issues.
00-09-11 cnapier Bug 179330: Report user cancelled setup if user selects cancel during instmsi upgrade with internet
download bootstrapper. Note that this is still blocked by bug 146117 where msiexec is returning
ERROR_SUCCESS instead of ERROR_INSTALL_USEREXIT.
00-09-11 cgouge Bug 181309: Win9X failure in MergeMod MergeEx call due to wrong string API.
00-09-10 cgouge Bug 171012: Fix prefix bug, uninitialized memory in mergemod RegisterServer call.
00-09-10 cnapier Bug 146126: Fix crash in CMsiEngine::GetFileInstalledLocation if Component table is not loaded.
00-09-09 cgouge Bug 166969. Non-admin users could not use secure cached transforms because we were not elevating
inside ixfSecureTransformCache when generating the temp filename in the \Installer directory.
00-09-09 cgouge Bug 171013, 171015, 171017, 171018: various PREFIX problems in migration security code.
00-09-09 cgouge Bug 171007: PREFIX memory leak in custom action server.
00-09-07 cnapier Bug 171498: MsiCreateAndVerifyInstallerDirectory works properly on Win9X. (No security verification
is performed, but an attempt is made to create the directory. An already existing directory is
still considered a success as well.)
00-09-01 mattwe Bug 176427: MsiInst in InstMsi.exe now re-sizes its process token
buffers to correctly detect Admins.
00-09-01 cgouge Bug 167102: Fixed problem with new packagecode-only disk 1 verification where packages not at
the root of the disk were not being validated correctly.
00-09-01 bench Bug 167847: fix bug in handing a missing cached patch, which prevented some roaming-user
scenarios from working.
00-09-01 bench Bug 168364: use the proper package name when deploying a package while it is also installed
on the local machine (using a different package name).
00-09-01 cnapier Bug 170063: Added functionality for executing instmsi when a Windows Installer upgrade is needed during the
internet download setup exe execution.
00-08-31 cnapier Bug 146151: Ability to add new components to existing features during minor patches and upgrades.
00-08-31 cgouge Bug 146291: Don't use crypto DLL to generate CA connection to avoid holding the DLLs in use.
This resulted in endless reboots when running Outlook after 9x->NT upgrades
00-08-31 cgouge Bug 154275: Preliminary MSI 9x to Whistler migration DLL to unblock home user.
00-08-31 mattwe Bug 159861: InstMsi on NT now calls MsiRegMv.exe to migrate data
00-08-31 eugend Bug 146153: Former debug errors 2351 & 2355 are ship 1334 & 1335 now.
00-08-31 mattwe 146199: Unicode InstMsi is now build with an MSI.DLL that doesn't use /robust IDL.
This version of the msi.dll is binplaced to _NTTREE\instmsi\unicode.
00-08-31 eugend Bug 146312: latebind's DLL unbindings are in try-except statements.
00-08-31 eugend Bug 146494: Darwin writes now eventlog messages that have distinct IDs.
00-08-31 eugend Bug 174543: Bitmaps display with the correct colors now.
00-08-30 eugend Bug 146428: Clicking on the last item (partially) displayed in the SelectionTree
control doesn't affect anymore the state of the item just below it.
00-08-30 eugend Bug 173668: Darwin doesn't log hidden properties anymore on the "MSI (c) (nn:nn): Switching to server:" line.
00-08-29 eugend Bug 148574: Automation doesn't hang anymore if the product key (in the registry)
is longer than 38 characters, but returns ERROR_BAD_CONFIGURATION.
00-08-25 eugend Bug 146461: Comboboxes in full UI got vertical scrollbars now.
00-08-22 bench Bug 165354 - bumped the default timeout value for chk builds from 1 minute to 10 minutes.
The timeout has been seen several times on the latest whistler builds, and 1 minute
is just too short.
00-08-21 mattwe Bug 146330 - InstMsi will now run on Whistler/Windows 2000. Note that
the regular build process no longer competely builds instmsi. In addition,
you will have to run a post build step. (see later check-in notes.)
This requires that the core msi files have been signed with a valid certificate
accepted by SFC.
00-08-21 cgouge Bug 165275. Fix Orca crash when running a search with no selected table.
00-08-16 cnapier Bug 163152. Remove WinVerifyTrust call for digital signature policy. In Beta2, we will be using SAFER. The infrastructure
remains in place; however, no policy decisions are ever made w.r.t. digital signatures. External cabinet digital signature checks
are STILL performed.
00-08-15 eugend Bug 163009: CMsiBitmap::DoUnpackBitmap was passing an unaligned pointer
to GDI32!CreateDIBitmap.
00-08-15 cgouge Bug 146549. The Custom Action Manager now detects leaked handles and posts an info
message saying that handles have been leaked. The leaked handles are then closed.
00-08-14 cnapier Bug 100163, 146450, 146397, 153738. 64-bit package must be marked with schema 150. Mixed platfrom packages (Intel & Intel64)
are explicitly not supported. Advt scripts for 64-bit packages fail when run on a 32-bit OS. Temp copy of Msi
is deleted if MSI digital signature check fails.
00-08-11 cgouge Bug 157952. Dropped OpenThread API for Win9X/NT4 support, instead using a list of active custom actions and
their associated suspended threads.
00-08-11 bench Bug 146404: fixed AV when writing to 0-byte wininit.ini file (Win9X only)
00-08-10 bench Bug 146614: added the Install.FileHash automation for the MsiFileHash api.
00-08-09 bench Bug 33731: properly fail when writing to a script file with no available disk space and no UI.
00-08-08 cgouge Bug 146578. Added pcp files to Orca file dialog filters. Added "Edit with Orca" verb to .pcp extension in Orca.Msi.
00-08-08 cgouge Bug 146298. InstMsi/CopyMsi will now fail on NT4 before SP3 with a launch condition error.
00-08-08 cgouge Bug 146103. Primary checkin for Orca transform viewing functionality.
00-08-07 cgouge Bug 146517. In CMSMs, the target of a configurable key item was being deleted if not prompted uses of the item
existed, regardless of the attribute. The row is now marked for deletion only after the first prompted item with the
no-orphan attribute is encountered. Later items may still flip the row back to not be deleted.
00-08-07 cgouge Bug 153857 (again), 148731, 146547 (again). Errors 2737, 2740, 2742, 2743 have now been dropped and new
pure-ship errors 1720, 1721, 1722, and 1723 added. 1723 is now propogated correctly for remoted custom
DLL custom actions.
00-08-05 cgouge Bug 146458, Explorer was caching source paths indefinitely for shortcut targets, resulting
in invalid paths when RFS source validity changed. We now ignore the global cache for all
descriptor based source resolutions. This is also a 1.1 QFE (WINSE 8803/8857)
00-08-04 cgouge Bug 148731, idbgCustomActionLoadLibrary prameters were backwards in the log file.
00-08-03 chetanp bug 146433 - Fixed MsiGetPatchInfo API
00-08-03 cgouge Bugs 153857, 146547: Debug Errors 2740, 2742, and 2743 "turned ship" and are now in error.enu
these strings will need to be localized in the next LOC pass.
00-08-02 cnapier Fixed building of instmsi to properly import ActionText and Error tables. Added building of
enumsi.res for localization drops.
00-08-01 chetanp bug 150107 - Fixed uninstall of an app does not remove HKCU registry keys if the app is installed for another user
00-08-01 cnapier Bug 152548: MsiApplyPatch Regression fix.
00-08-01 cnapier Bug 152897: Authoring errors for digital signatures for cabinets now reference proper table in which
error occurs (idbgBadForeignKey).
00-07-31 eugend Bug 152813: Regression to fix for 10030.
00-07-26 eugend Bug 146218: I've removed the restriction of 1024 characters on the length
of properties entered on the command line.
00-07-26 chetanp bug 146278 - COM <-> COM+ interop support work: Added support for IOD of COM
assemblies when invoked by COM classic clients. Check specs for more info
00-07-26 bench Bug 146426: detect and resolve conflicts between patches that use the same DiskID and Sequence
values. This fix is huge and greatly impacts the way patches and standalone transforms
are applied.
00-07-25 cnapier Bug 146645: Send imtError instead of imtUser for LaunchCondition and CustomAction type 19 errors.
00-07-25 cnapier Bug 146652: Multiple digital signature eventlog messages with verbose information were
added instead of relying on one. An admin can now pinpoint the reason why the failure
occurred (invalid hash, rejected cert, etc.)
00-07-25 mattwe Bug NT 146100: After a suspended install, when a different user
logs in and starts a new install, we now attempt to rollback the
partial install for the other user. Previous behavior simply
discarded all rollback info and continued.
00-07-24 eugend Bug 146114: hitting Esc during rollback has no effect now.
00-07-24 eugend Bug 146431: MsiZap supports now the new per-user registry data format.
00-07-24 dkays More prefix fixes.
00-07-21 mattwe Bug NT 146541: Custom Actions that are elevated will now only receive
the system environment block, rather than the user's block.
00-07-20 cgouge Re-enable compiler warning 4701 - uninitialized local variable.
00-07-18 eugend Bug 11227: AV in handler when two successive dialogs have the TrackDiskSpace
attribute set.
00-07-14 cgouge Bug 11070: Before launching a custom action server for a non-admin, we ensure that
INTERACTIVE_RID group has SYNCHRONIZE access on the service process. Otherwise the CA
server thinks the process is gone and shuts itself down.
00-07-11 chetanp Bug 10516: Added support for IOD for pvt and global COM+ assemblies. Check specs for more info
00-07-10 cgouge Bug 10714: When passed a package path on the command line (if the path can't be gleaned
from registration) we convert the path to LFN during engine initialization to ensure
the SourceList registration contains a path that can be used on sources where the SFN
representations of the package are not the same.
00-07-10 eugend Bug 10030: We've stopped writing private properties into the log file,
as well as all passwords from ServiceInstall table and the Target
column for some custom actions.
00-07-10 eugend Bug 10511: AppSearch and CCPSearch actions have been modified
as to be able to look for 64-bit apps in the registry.
00-07-10 cnapier Bug 10884: Digital Signatures. Redistribution of msisip.dll and msipol.dll via instmsi. Note that msipol.dll
is conditioned for VersionNT >= 500 since it will only be distributed on Win2K. However, currently instmsi
has a launch condition to block installs on Win2K. The Client-Side-Extension registry entries were added to
the Registry table for instmis for the policy provider DLL. Additionally, there are two new in-script,
non-impersonated custom actions for registering the Sip and Policy provider DLLs with crypto. The Sip registration
custom action also removes the old structured storage Sip registration if present.
00-07-09 cnapier Bugs 11104, 11105, 11169, 11172: Digital Signatures. Reduced WinVerifyTrust calls on open of package to only
occur when at least one of the following three conditions are true:
1. Product is unknown (not installed or advertised)
2. Local cached Msi is missing
3. Explicit recache specified (REINSTALLMODE option)
Additionally, a WVT check will be performed when accessing the source Msi to extract an embedded cabinet (although
no check is performing when validating the source)
00-07-08 chetanp Bug 11200: Added support for privatized win32 components
00-07-08 eugend Bug 9242: MsiEnumComponentCosts is a new API for getting the
costs incurred per disk drives by the installation of a component.
00-07-07 cnapier Bug 11179: New API for creating and verifying the Installer directory -- MsiCreateAndVerifyInstallerDirectory.
This is a private API that is used by the service when it verifies ACLs on the %systemroot%\Installer directory
and by msipol if the directory is not present when the group policy client-side extension runs during winlogon.
The OpenMsiCertStore API also makes use of this API call. MsiCreateAndVerifyInstallerDirectory requires that
the callee be an admin or local system.
00-07-07 cnapier Bug 11178: New API for extracting the signer certificate and hash from a signed Msi, Mst, Msp, or Cab.
MsiGetFileSignatureInformation. The hash extraction is optional. Provided for Admin policy UI in GPE
and for tools like VSE, InstallShield to use in authoring the MsiDigitalSignature and MsiDigitalCertificate
tables.
00-07-07 chetanp Bug 11071: Fixed code to prevent removal of any entity (like registry entries, self reg, ...)
during uninstall of GUIDless components. This behaviour is now consistent with what is
documented.
00-07-07 chetanp Bug 11199: Added code to redirect loading of fusion.dll via the shimming dll (mscoree.dll).
We no longer need fusion.dll to be in the system folder any more.
00-07-06 t-shanj Bug 10785: Added ICE77. Verifies that the in-script CAs are scheduled between
InstallInitialize and InstallFInalize in InstallExecuteSequence table and
AdminExecuteSequence table.
00-07-06 cgouge Bug 11052: Switched to a 2-phase DLL custom action launch procedure. Phase 1 sets up the action in
a suspended state, whereas phase 2 runs the action and retrieves the result. In between the phases
the thread information is passed to the CA manager so the message context can correctly filter
synchronous custom action messages to avoid deadlock.
00-06-30 cgouge Bug 10837: Fixed ICE46 crash on non-matched left bracket in property.
00-06-29 cnapier Bug 11139: Not calling WVT on all patches.
00-06-29 cnapier Bug 11171: Package signed with expired certificate still installed if InstallKnownPackages policy was 1.
Fixed Msi_FinalPolicy to call Authenticode's final policy function so that the certificates in the chain
are evaluated against the HKCU WVT registry policies dealing with expired and revoked certificates.
00-06-28 cgouge Bug 11079: Folded IMsmGetFiles into IMsmMerge2, since there is no longer a reason to maintain
a seperate interface. the CLSID_MsmMerge object still implements IMsmGetFiles for backwards
compatibility.
00-06-28 cgouge Bug 10874: All new CMSM errors now cause MergeEx to return E_FAIL, not S_FALSE. This is because
these errors result in partial merges (unlike the other S_FALSE error cases). An error object is
still added to the error enumerator.
00-06-28 cgouge Bug 11075: A leaked handle in mergemod was keeping the module in use during a CMSM merge. The
handle is now closed.
00-06-27 cgouge Bug 10685: we now use only the package to validate Disk1 (the volume label is ignored) in
both engine and execute resolution. We use the "same volume label" check that was earlier used
for the special-case label registration to determine what media table entries constitute
"physical disk 1".
00-06-27 bench Bug 11066: we now perform a FileHash check on companion files when the version check
on the parent file tells us to install the companion file.
00-06-27 dkays Switch msiexec to use new comctl32 v6 controls for new shell UI look.
00-06-26 mattwe Bug 6500: During rollback, we now simply log errors and continue on. All error and
warning dialogs are suppressed, and just sent to the log. The rollback will continue
on, for better or worse.
00-06-23 bench Fixed Whistler bug 130132: crash when rolling back after ODBC failure
00-06-23 dkays Split msi.h into public and private header. Msi.w, msiquery.w, and msidefs.h can now
be found in admin\published\msi. This is where these files should be modified and built
from to update public\sdk\inc. Msi.w is split into public\sdk\inc\msi.h and
public\internal\admin\inc\msip.h.
00-06-21 cnapier Bugs 11138: Digital Signature error now properly returned in the case of a file split across two cabinets.
00-06-20 cnapier Bugs 11100, 11102, 11103: Digital Signatures. Changed interpretation of MsiDigitalSignature table.
The DigitalCertificate_ column is now non-nullable. When patching an admin image, the digital signature
is removed from the MSI at the admin install point. New error messages for policy rejection of
transforms (ERROR_INSTALL_TRANSFORM_REJECTED) and patches (ERROR_PATCH_PACKAGE_REJECTED). Additionally,
two new event log templates were added with their own message Id's (EVENTLOG_TEMPLATE_WINVERIFYTRUST_UNAVAILABLE
and EVENTLOG_TEMPLATE_DIGITAL_SIGNATURE).
00-06-20 mattwe Bug 10665: Only non-password protected screen savers are now disabled during long
installs.
00-06-19 cgouge Bug 11044, orca command line processing was openining the merge module before determining the
language and then complaining that the language was not known. Language detection was moved
back before database open. (where it was before UI integration.)
00-06-19 cgouge Bug 11130, a CMSM temporary column was type INT, which limited bitfield masks to 16 bits. The
column is now LONG (32 bits).
00-06-19 cgouge Bug 11070, incorrect parsing of escaped characters in Orca CMSM UI.
00-06-19 cgouge Bug 11058 part 2, fix button to be correctly enabled after the browse dialog returns.
00-06-18 bench Bug 10776: checked in version 1.97 of mspatcha.dll and mspatchc.dll. 1.97 contains
a small backward compatibility fix over 1.96. namely in 1.97 the PATCH_OPTIONS_USE_BEST
flag behaves the same way as it did in 1.94, where is behaved differently in 1.96.
00-06-18 bench Bugs 10950,11110: more patchwiz fixes from Office MOSE team.
00-06-18 bench Bugs 10817,11109,11111: integrated patchwiz fixes from Office MOSE team.
10817 deserves special note: you can now specify in the .pcp file to create smaller patches
for large files, with the caveat that the patches won't work with 1.94 mspatch (which
shipped with 1.1 MSI). see the bug for more info.
00-06-16 cgouge Fixed bug 11124. Removed ShellNew commands from _BadRegData table in CUB file.
00-06-16 cgouge Fixed bug 11125. Changed Shortcut.ShowCmd validation to 1;3;7
00-06-15 cnapier Bug 10963: MsiFiler fails if the call to MsiGetSourcePath fails.
00-06-14 cnapier Bug 11097: MsiOpenPackage now properly terminates the initialized message context if it fails to
create an engine.
00-06-13 bench Bug 10996: in FindRelatedProducts, fix version comparison so that a version number with
major version = 128 doesn't look negative.
00-06-13 cgouge Bug 10547: fix regression where the DisableMedia policy was being checked per-machine. It
is actually a per-user policy.
00-06-13 cnapier Bugs 11073, 11089: fixed regression in error message for File Not Found. Fixed problem
with msifiler and validation not being able to create an engine via MsiOpenPackage. The
problem was due to a WinVerifyTrust call on the package (for security) and it failing because
the SIP requires opening the storage for reading while denying write access and the package
had been opened for writing. The fix was to short-circuit the WinVerifyTrust call such that
an unsigned package opened for writing with the DWORD policy allowing unsigned packages can
create an engine object.
00-06-12 cgouge Bug 11058: fix crash in orca when no path is specified for the module path path in the merge
module dialog box
-----------------------------
RI to VBL04 for 1.50.2240
-----------------------------
00-06-05 bench Bug 10384: file hashes for unversioned files can be stored in the MsiFileHash column
and used during version checking to save unecessary file copies.
00-06-05 cnapier Bug 9920: Implemented digital signature infrastructure for verifying digital signatures on
MSIs, MSTs, and MSPs during installation actions. Trust is determined by a set of policies
that are evaluated by the MSI policy trust provider (identified via GUID in the WinVerifyTrust
call).
00-06-02 dkays Integrate from vbl04 to private branch.
00-06-02 dkays Prefix bug fixes.
00-06-02 cgouge Bug 10547: fixed source validation on engine start to correctly respect Media and
Browse policies for both initial installs and maint installs.
00-06-01 dkays Instmsi and various build changes. Remove uses of UMABSENTRY in sources.
00-06-01 eugend Bug 9953: Darwin checks now the corectness of CRC checksums of files that
are marked as having a checksum.
Bug 10299: Windows File Protection error 1931 is displayed only once, all
subsequent occurences are recorded in the eventlog and in the log file.
00-06-01 cnapier Bug 9925: Enable digital signatures for cabinets via authoring of the MsiDigitalSignature
and MsiDigitalCertificate tables.
00-05-30 cnapier Bug 10834: The custom action samples for the SDK (tutorial.dll, process.dll, remove.dll,
and create.dll) now build in Source Depot. Additionally, the call to the rollback custom
action was changed so that it proceeds the call to the deferred custom action (process.cpp)
so as to be in agreement with the docs.
00-05-25 cgouge Bug 10945: we now create a Products\<pcode>\Usage key with read/write ACLs during
product registration.
00-05-25 cgouge Bug 10895: Service no longer creates Products\Secure key on start.
00-05-24 chetanp Bug 10814: fixed COM+ assemblies installation support break.
00-05-24 cnapier Bug 9925: MsiCert.Exe tool to aid in testing of digital signatures for cabinets.
The tool will populate the MsiDigitalCertificate and MsiDigitalSignature tables
of an MSI package with information extracted from a signed cabinet.
00-05-22 cgouge Bug 10939: Fixed hang in msival2 caused by a buffer overrun inside the MSI cursor
when a possible property reference in a formatted string was not terminated within
260 characters. The buffer is now resized appropriately.
00-05-19 eugend Touched bug 10507 again: I've fixed up the APIs called in the 32-bit process
as to return %systemroot%\syswow64 instead of %systemroot%\system32.
00-05-19 eugend Bug 10806: the refcounting mechanism got extended as to handle 64 and 32-bit
components. On Win64, for 32-bit components we update info in the 32-bit
SharedDLLs key and for 64-bit, in the regular SharedDLLs key. On Win32, the
behaviour is unaltered.
00-05-19 cgouge Bug 10972: Made ContextData, DefaultValue, DisplayName columns in ModuleConfiguration
table localizable.
00-05-19 cgouge Bug 10879: Dropped MMI/MPI support from Orca.
00-05-18 cgouge Bug 10600: Added support for the Intel64 summary property to Orca.
00-05-18 cgouge Bug 10980: Fixed Multi-User Migration tool (msiregmv) to correctly migrate secure-full-path
transforms. The transforms are registered in the mapping key under their full-paths to avoid
potential name collisions.
00-05-17 cnapier Bug 10826: fixed the tools so that they have version resources and map to the build.
Copyrights for the /? option and Help->About have been updated to include 2000.
Added msimsp and msiloc to the build process and fixed the msispy builds to handle
version resources.
00-05-17 bench Bug 10953: fixed patchwiz.dll to propertly compare 2 product versions. There
should be no more bogus warnings about mismatched product versions when creating
a patch.
00-05-17 cgouge Bug 10380: Fixed LastUsedSource checks to resolution to actually check only the
last used source.
00-05-12 bench Bug 10954: Fixed source resolution code to work for msifiler.exe.
00-05-10 bench Bug 9321: second and final piece to this bug. Fixed RegisterProduct action to not
resolve the source during a QFE patch. Fixed ixfFileCopy to skip source resolution
when not copying or moving a file.
00-05-10 chetanp fixed bug 10898 - MsiGetShortcutTarget was failing
(in ANSI builds) because of lack of null termination
in read buffer.
00-05-09 cgouge Bug 10889: Multi-User migration now deletes old cached transforms on migration.
It also tries to delete the SecureTransforms directory and the product GUID
directory, but doesn't if other files exist there (such as cached icons).
00-05-09 cnapier Bug 10907: Fixed incorrect grammar in ICE61 error message.
00-05-09 cnapier Bug 10628: Fix crash in CMsiDatabase destructor with corrupted database
00-05-09 cgouge Bug 10823: Updated ICE45 _ReservedBits table to allow 64bit attribute in Component table.
00-05-09 cnapier Bug 10254: Refit of static text with dynamic properties upon repaint.
00-05-09 cnapier Bug 10296: SecureCustomProperties fixed to only allow the specific list. (Inccrrectly allowed
all properties if value contained two semi-colons in a row or ended with a semi-colon)
00-05-08 cnapier Bug 10698: Fix for ICEs 35, 39, 45, 66, 73 -- cannot use NULL for output parameters for MSI
API (MsiSummaryInfoGetProperty in particular). This was originally fixed but was not migrated to
Source Depot.
00-05-08 cgouge Bug 10487: Updated ICE45 _ReservedBits table to allow Sunken and Enabled for all controls.
00-05-08 cgouge Bug 10745: Added new ICEM11 to verify that Configurable Merge Modules have
ModuleConfiguration and ModuleSubstitution in the ModuleIgnoreTable table.
00-05-08 bench Bug 9876: if the ScheduleReboot or ForceReboot actions were run prior to the install
failing or being cancelled, reboot would still happen. This has been fixed by
clearing the appropriate flags upon an unsuccessful end to the install.
00-05-08 bench Bug 10871: applying a major-upgrade patch with REINSTALL=ALL used to register only
the patch without registering the rest of the product, leaving the product is an
unusable state. this is now fixed.
00-05-08 cgouge Bug 10897: Custom Action Server COM connection is now ACLed differently based on
whether the client or server is the owning process.
00-05-07 bench Bug 10693: files that are patched but not pre-copied are now correctly bound by
the BindImage action.
00-05-07 bench Bug 10649: fixed misleading log message when patching a file that doesn't
need to be copied beforehand. We now describe whether the file will be patched
or not in addition to whether it will be copied or not.
00-05-07 bench Bug 8340: it is no longer necessary to set SHORTFILENAMES manually when patching
an admin image with short names. the installer does this for you.
00-05-05 cgouge Bug 10890: Fixed typo in ICE47 warning message.
00-05-04 cgouge Bug 10110: Added support to Orca for NULL data in nullable binary columns.
00-05-04 cgouge Bug 7455: Removed invalid (and broken) StartImpersonating call from ValidateSource
on RFS components.
00-05-04 bench Bug 10910: we no longer prompt the user to close down an application holding a file
in use if the file is actually RFS and the component is being uninstalled.
00-05-04 bench Bug 10831: RFS was improperly disallowed when running from an admin image just
because the File table has a file marked as compressed. But in an admin image
all files are uncompressed and RFS should always be allowed.
00-05-04 bench Bug 10472: fixed MsiApplyPatch api to close the patch storage when it is done
with it, before invoking the patch install, which was preventing reboots from
happening during a patch.
00-05-03 cgouge Bug 10816. Fix remoted out buffers to revert to old behavior despite change
in underlying proxy code. We now use a temp output buffer when remoting.
00-05-03 cgouge Fix Smoke failure in mergemod relating to directory creation on
systems with FAT drives.
00-05-03 cgouge Added support for 64bit directory properties to MergeMod.
-----------------------------
RI to VBL04 for 1.50.2228
-----------------------------
00-05-09 eugend Fixed bugs# 10914 & 10629. 10629: RegCreateKeyExW API works now OK
on Win64 so that I've removed our own MsiRegCreateKeyEx workaround.
10914: 64-bit Windows' Wow6432KeyValue special registry value was
causing us not to remove product publishing information.
00-04-29 chetanp Bug fixes for Multi-user changes. (10891, 10893)
00-04-30 cgouge Tweaks to 1.5 Migration Tool. Removed debug spooge, turned off transform deletion,
fixed owners of keys (bug 10887), switched cached patch and product registration
to full path, make backup of hive in Windows folder.
00-04-29 chetanp Multi-user changes. See http://dartools/dardev/specs/multi user(design).htm for
schema and functionality changes. There are a few pieces of functionality
that is missing for this check in
1> The secure transforms as stil not cached per user. We still work the way
we did before.
2> The "Usage" key is not being ACLed to allow everyone read write (though
it is being migrated this way, so if it already exists or if the user is
an admin, you will see the feature usage counts being updated)
3> The component management code works off the particular user's view for
component management instead of the global view (see shared component logic
section in specs). What this means is that an uninstallation will still remove
the file and machine data for a shared component installation even if there are
other users that are clients of the installation. However, if users install to
different locations, it works.
4> The external API MsiGetPatchInfo is broken because of the multiuser changes.
However, internally all patching has been rewired for the change. So all patch
stuff should work.
5> We still register the product information under the Uninstall key as well. While
this would be needed for legacy OSes, we will get ARP to go through us for all MSI
apps, so that we dont do this registration on Whistler.
00-04-29 bench Bug 9321: first set of changes to delay source resolution as far as possible. This
will benefit patch application by not requiring the original source to apply a patch
if the source is truly not required.
00-04-29 cgouge Main checkin for Multi-User Migration tool. (MsiRegMv.exe)
00-04-29 eugend InstallODBC and RemoveODBC actions had been modified to handle
64-bit components. Bug # 10508 tracks this.
00-04-28 cnapier Bug 9921: Implemented MSI SIP plug in. MSIs, MSMs, MSTs, and MSPs
can now be signed.
00-04-28 eugend RegisterTypelib and SetODBCFolders actions had been modified to handle
64-bit components. Bugs # 10506 & 10507 track this. I've fixed bug# 10614:
on 64-bit machines, 32-bit 'Program Files' and 'Common Files' folders are
now retrieved correctly.
For debugging API calls that are remotely executed in the custom action server,
I've added the functionality that checks if 'J' character is set in _MSI_TEST
env. var. and if so, and the build is debug, the APIs are remoted.
00-04-28 dkays Initial prefix bug fixes.
00-04-27 bench Bug 10878: fixed misuse of the MsiEnumPatches api. The bug
caused some patches using more than 1 set of transforms
(2 transforms in a set) to be ignored after first-application.
These patches were also ignored during uninstall and the patch
registration became orphaned, which prevented further installs
of that product (with a ERROR_INSTALL_PACKAGE_REJECTED error)
00-04-22 dkays Precompiled header for src\engine. Currently used for the src\inc files.
Could be further enhanced to pull in engine header files. Cuts about 2/3
of the compile time off of the engine build.
00-04-20 chetanp Added COM+ 2.0 support for installation/ reinstallation/ uninstallation of
COM+ packages. Added indirection of key paths to COM+ components.
Renamed assembly tables to MsiAssembly and MsiAssemblyName. Works with
fusion.dll version 5.60.2208.0.
00-04-20 dkays Changed version.h to pick up nt build number for minor version number.
Files msiver.h and vertmpl.txt removed, verdate.h is no longer generated.
00-04-20 eugend Fixed bug 10502, 10503 & 10504: [Un]PublishComponent, [Un]PublishFeature
and PublishProduct actions have been modified as to handle 64-bit
components properly.
00-04-17 cgouge Bug 10746,10747: Added Orca support for Configurable Merge Modules (both UI
and command line).
00-04-17 cgouge Bug 10408: Main checkin for Configurable Merge Modules. See the dev spec
for details
00-04-14 cgouge Bug 10300: reworked our impersonation/elevation system to solve several
problems mentioned in the bug. This includes problems with context switching
in client engines, mixed impersonation contexts when multiple users are
connected to the service simultaneously, and the addition of some additional
debug checks to track down mismatched impersonation calls. Note that
StartImpersonating and StopImpersonating are now deprecated. Use the
CImpersonate class instead for all new code.
00-04-13 bench Bug 10813: fixed patching problem where a full-file patch would
not "take" after a binary patch was applied against the same file.
We now ignore patches that are older than the current full-file,
using the sequence numbers from the File and Patch tables to make
this determination.
00-04-13 bench Bugs 10776, 10784: updated mspatcha.dll in the 1.2
redistributable to version 1.96. This new version can
accept new types of patches, so this build now accepts
.msps with engine type "2", which would be used to indicate
.msps that use the new patches.
00-04-11 eugend Fixed bug 10500 & 10501: RegisterUser and RegisterProduct action have
been modified as to handle 64-bit components properly.
00-04-11 eugend Fixed bug 10686: If the OS >= W2K, the OS' memory allocator is used
instead of Office's.
00-04-11 eugend Fixed bug 10832: 64-bit Darwin is able now to handle cabinets stored as
streams in the package.
00-04-04 cnapier Fixed bug 10819. Removed build spooge from checked build.
If an install, uninstall, etc. is successful and no logging policy is set
and logging isn't enabled, then there should be no output to the debugger
or to debugmon. The requisite policy setting is the DEBUG policy in HKLM.
Set to 1 to turn on.
00-04-03 bench Fixed bug 9987: both 32-bit and 64-bit builds use the latest fdi.h, which
allows the 32-bit build to now handle file-uncompression on Win64 correctly.
-----------------------------
Release 1.1.1529
-----------------------------
00-03-28 cnapier Fixed bug 8801. RFS features are now patched
correctly so that 2 uninstalls are not required. RFS is
not available in the UI for a feature with patched or
compressed components.
00-03-28 cnapier Fixed bug 10703. Localization. Checked in THA
Millennium localization drop.
00-03-28 cnapier Fixed bug 10703. Localization. Checked in
Vietnamese drop of Millennium localization from Redmond.
00-03-27 mattwe 10598: updated autoexec.bat processing to accept
lines beginning with @, and to concatenate
appending/pre-pending variables with %variable%
to avoid clobbering existing values.
00-03-23 cnapier Fixed bug 10703. 6 more Ireland languages checked
in. CAT, EUQ, HRV, ROM, SKY, SLV.
00-03-23 eugend I've modified the build process as to build
Profile[W] binaries that work with IceCAP 4.2 So far they
were built for IceCAP 3.6. The affected files are:
- <darwin root>\Tools\Inc\ICECAP.H - new file
- <darwin root>\Tools\Bin\X86\MSVCRT.DLL - replaced
- <darwin root>\Tools\Lib\X86\MSVCRT.LIB - replaced
- <darwin root>\Tools\Lib\X86\ICECAP.LIB - new file
- <darwin root>\Src\MAKEFILE - modified
- <darwin root>\Src\Inc\COMMON.H - modified
00-03-22 cnapier Fixed bug 10703. Localization. Checked in fix to
mislocalization of RegisterProgIdInfo in ESN
ActionText table.
00-03-22 eugend Fixed bugs # 10496, 10497, 10498 and 10499:
RegisterClassInfo, RegisterExtensionInfo, RegisterProgIdInfo
and RegisterMIMEInfo actions had been modified as to
handle registrations for 64-bit components.
00-03-22 mattwe Bug 10531: Moved IPROPNAME_CUSTOMACTIONDATA into msidefs.h
from msiquery.cpp and updated custom action
samples in src\samples to use it.
-----------------------------
Release 1.1.1522
-----------------------------
00-03-21 cnapier Fixed bug 10734. Handler. If in reduced or full UI
mode but no dialogs are up, the handler returns the
parent window as specified by the MsiSetInternalUI
call. (Initially, the value is 0 for desktop).
00-03-21 cnapier Fixed bug 10703. Localization. Millennium
localization drop of 16 Ireland languages (CSY, DAN, ELL,
ESN, FIN, FRA, HUN, ITA, NLD, NOR, PLK, PTB, PTG, RUS,
SVE, TRK)
00-03-21 bench Fixed bug 10661: we no longer require a reboot to clean up
our files (.msi, .mst, .msp, icons) after an uninstall.
Our sequence of steps was juggled to attempt the deletion
of these files after we have let them go. This was a problem
on Millennium because the System Restore feature doesn't work
when there are pending delete/rename-after-reboot operations.
00-03-17 cnapier Fixed bug 10256 (forgot to check in to Whistler).
Fixed the formatting issues in the
sample source code and made
the MSI API calls use
explicit W versions.
-----------------------------
Release 1.1.1515
-----------------------------
00-03-14 eugend Fixed bug # 10505: BindImage action had been
modified for 64-bit NT.
00-03-13 cnapier Fixed bugs 10254, 10713. Handler. Static text
controls with dynamic properties as their text are always
re-fitted on paint. No more FormatText calls on
errors filterd by the handler's message handler. These
errors have already been formatted prior to sending
them to the handler.
00-03-13 cnapier Fixed bug 10256. Fixed the formatting issues in the
sample source code and made the MSI API calls use
explicit W versions.
00-03-10 cnapier Fixed bug 10698 (again.) This time, the problem was
in the ICE cub files. Output buffers cannot be NULL.
Affected function call was MsiSummaryInfoGetProperty
used by ICEs 35, 39, 45, 66, and 73.
00-03-10 cnapier Fixed bug 10717. Changed BugBug comment in
CActionThreadData::RunThread() to plain comment (must support
backward compatibility).
00-03-10 cnapier Fixed bug 10698. MsiDatabaseIsTablePersistent idl
definition fixed to be [in, unique, string]
(originally was [in]). Additionally, all [in, string]
references were changed to be [in, unique, string]. Now
MsiDatabaseIsTablePersistent is remoted correctly.
00-03-09 bench Fixed bug 10574 (again): new fix addresses some
security problems experienced by non-admin users, and
handles multiple patches to the same file.
00-03-09 eugend Fixed bug # 10664: MsiRegCreateKeyEx function now
creates the right key, so that RegOpenKeyEx will be
able to open it.
-----------------------------
Release 1.1.1508
-----------------------------
00-03-07 cnapier Localization. First drop of Millennium localization
pass checked in. Redmond-based languages -- ARA,
CHS, CHT, DEU, HEB, JPN, and KOR. This includes updates
to current strings plus InstallSFPCatalog,
RegisterProgIdInfo, SR error messages (Installed, Configured,
Removed).
00-03-06 cnapier Fixed bug 10640. Removed fDBCS = fFalse as default
argument for AllocateString. Fixed all instances of
function calls to AllocateString. If in doubt, we
default to using fDBCS=fTrue to guarantee that we
handle DBCS characters appropriately. This means we have
a perf hit on ANSI (separate bug opened on this). On
UNICODE, the fDBCS argument is ignored.
-----------------------------
Release 1.1.1501
-----------------------------
00-02-29 eugend Fixed bug # 10663: On Millenium Darwin is no longer
recording the restore points if it is running in
FASTOEM mode.
00-02-29 eugend Fixed bug # 10416: WriteRegistryValues and
RemoveRegistryValues actions had been modified as to work
properly on 64-bit OS-es.
00-02-28 cnapier Fixed bug 10667. Validation. ICE76 -- new ICE to
validate that files with SFP catalogs are not listed
in the BindImage table. This ICE is in the full and
merge module validation suites.
00-02-25 eugend Fixed bug # 10652: from now on, whenever a product
changes state from advertised into installed, the
string "Configured XYZ" will be recorded in PCHealth's
UI, instead of "Installed XZY".
00-02-24 cnapier Fixed bug 9843. It is now possible to query the
_Streams and _Storages tables multiple times (and across
threads). Originally if you wanted to views on the
_Streams table, you had to open view, close view,
open view, close view. It's now possible to open view,
open view, close view, close view.
00-02-23 bench Fixed bug 10574: to handle SFP protected files, when
copying a file then patching it, we now copy that
file to an intermediate location, then patch the file
and copy it back to the original location. This
ensures that the first and only time the original file is
overwritten, it is done so with a fully updated file,
and not an intermediate, unpatched file.
-----------------------------
Release 1.1.1423
-----------------------------
00-02-22 bench Fixed bug 10618: swapped the order of the PatchFiles
and DuplicateFiles actions in the recommended
sequence in our SDK .msi files. PatchFiles should come
first, but wasn't in the previous recommended sequence.
00-02-21 mattwe bug 10241. The CSIDPointer class needed its default
copy protected, and a new constructor for SID* to
avoid temporary object creation that might over-free
a contained SID.
00-02-18 cnapier Fixed bug 10397. An immediate custom action can now
call MsiDoAction or DoAction on a custom action that
is in the same binary stream as it is.
00-02-18 cnapier Fixed bug 10437. Evalcom.msm and Mergemod.msm now
pass the Merge Module validation suite as best they
can. Remaining problem is due to bug #10626 scheduled
to be fixed later.
00-02-18 cnapier Fixed bug 10252. Updated msitool.hlp to include
msizap in the overview and remove the Spy Automation
interface link from the overview.
00-02-17 cnapier Fixed bug 10389. Added new SFPCatalog Cost Adjuster
for costing SFPCatalogs. This cost adjuster creates
a "dummy" shared component to represent all catalog
file cost.
00-02-16 cgouge Bug 10612. Memory allocator was very confused
because the page size on Win64 is 8K and it was expecting
standard 4K x86 pages.
00-02-16 cgouge Bug 10566. Fixed a problem in source resolution
where the service was caching volume labels across calls
to the source dialog in the client. This resulted in
the service incorrectly registering the last used
source disk id and thus rejecting the disk even if it is
correct.
00-02-15 eugend Fixed bug # 10415: The new System64Folder,
ProgramFiles64Folder, CommonFiles64Folder and WindowsNT64
properties get created when Darwin is running on 64-bit
NT and on that platform System16Folder does not exist
anymore.
00-02-11 eugend Fixed bug # 10558: CBasicUI::CheckDialog will not
use now random values for iDialogLeft, iDialogTop,
iDialogWidth & iDialogHeight.
00-02-10 cgouge Bug 10236 - added support for LFN extraction to
mergemod. By requesting the MsmMerge2 interface you can
call ExtractFilesEx and request short or long
filenames. This is the first part of the new mergemod
interface and required stubbing out the other new functions
in an attempt to avoid multiple changes to the
inteface.
00-02-10 cnapier Fixed bug 10068. When a bogus path is provided to a
transform, we now return
ERROR_INSTALL_TRANSFORM_FAILURE instead of ERROR_FILE_NOT_FOUND. The transform
failure message includes directions to verify the
path to the transform.
00-02-10 cgouge Bug 9808 - The limit of 83 media entries in an
install has been eliminated via the addition of a new
opcode (ixoSourceListAppend) that tacks additional
sources (of any type) on to the end of the existing source
list. The opcode can be used for either packages or
patches
00-02-10 cgouge Bug 10537 (again). Feature reference in new Assembly
table also incleased to length 38.
00-02-10 cnapier Bug 10163. ICE75 -- verfies that Custom Actions
referencing the File table are sequenced after
CostFinalize.
00-02-10 cnapier Fixed bugs 10198 and 10184. Reports to the debugger
(in the service) are only sent if the debug policy
is set. Fixed the problem in SetInstallerACLs when
deleting a key caused the service to not start.
00-02-09 bench Fixed bug 10596: MsiMsp issues: 1) fixed bug with
quoted paths passed to the exe, 2) improved failure
message to be a little more friendly, 3) remove the -c
option, which was required for success in most cases,
with the -k option, which as the opposite effect.
00-02-09 eugend Fixed bug # 10599: Millenium's System Restore
strings got more concise now.
00-02-09 cgouge Bug 10537 - updated Feature.Feature and all Feature_
columns to 38 characters.
00-02-09 mattwe Bug 10528 - InstallSFPCatalogFile action now only
can run on Win9X systems beginning with Millennium (4.90)
00-02-08 mattwe Bug 10441: Fixed assert when installing invalid catalog
files
00-02-07 eugend Fixed bug # 10545: Ship builds of Darwin record now
PCHealth strings correctly.
-----------------------------
Release 1.1.1406
-----------------------------
00-02-04 cnapier Fixed bug 10436. ORCA. Made the combo boxes on the
Validation dialogs have the CBS_AUTOHSCROLL
attribute to allow entering of text longer than combobox
boundary.
00-02-04 cnapier Fixed bug 10256. SDK. Created custom action
samples for the SDK (Sample 1 is launching an installed
file at the end of the install. Sample 2 is creating
user accounts on the local machine using a Custom table
and deferred and rollback custom actions). Source
files are provided in the SDK under Samples.
Documentation will be added to msi.chm explaining use and
authoring. Relevant files are tutorial.cpp,
process.cpp, remove.cpp, and create.cpp in %DARWIN%\src\samples.
00-02-03 chetanp bug 10514 - preliminary COM+ support added in darwin
1.5 The build supports installation of fusion
assemblies to the assembly cache via the new fusion apis.
A sample package containing a multimod assembly is
now built and released (Asm.msi) The table schema that
is supported is in the dev specs in
http://dartools/dardev/specs/complusasm.doc . Note that in this
release we dont make use of the AssemblyName table, which
can be omitted.This release does not have support for
install on demand/ reinstall/ uninstall of COM+
components.You will run into a quaint debug error if you
attempt to run a COM+ package w/o the COM+ URT
installed in your system directory (go to http://URT).I have
tested installation of uncabbed single mod
assemblies, uncabbed multi mod assemblies and cabbed single
mod assemblies. The fusion dll against which the code
is compiled and works is 5.50.4026.2200
00-02-03 eugend Fixed bug 9985: Fixed platfrom validation as to
handle the 64 bit processors as well and relaxed
validation on Alpha.
00-02-01 eugend Fixed bug # 10527: more information about
SRSetRestorePoint API gets written into the log now.
00-01-31 cgouge Bug 10124,10204,etc. This is the first checkin for
the 64bit custom action support in Darwin 1.5. This
initial checkin consits of most of the core
infrastructure code necessary to support multiple custom action
servers and servers that run client-side actions.
Specifically:
- Implementation of the CustomActionManager class
which creates, manages, and destroys up to 4 custom
action servers and their associated interfaces. This
object lives in the engine of the client and the config
manager of the service.
- Modification to the IMsiServer interface to
support client side requests for a custom action
server.
- Modifications to the registration system to provide
enhanced robustness and security when registering
multiple custom action servers.
- Providing a back up array-based system for
Thread-Id impersonation when running on the client side with
no available TLS slots
- Additional context information for RemoteAPI calls
to enable security checking when sharing an API
handler across multiple servers.
- Servers now watch for their clients to die, even
while idle (no active actions). Thus client processes
can die without leaving behind copies of msiexec.
- Client, Server and Service now use the GIT for
interface management. We now require NT4 SP3+ for
unicode builds.
- Code to take an arbitrary PE format file and
determine if it is 64 or 32 bit.
- Explicit registration of msiexec paths at
/regserver time so 32bit processes can find the secure copy of
the 64bit msiexec and vice-versa
- Addition of the msidbCustomAction64BitScript
attribute.
Still to come:
- Security work for multiple simultaneous client
calls (waiting on 10300)
- full 64-bit functionality for DLLs and CAs (waiting
on the OS)
- perf optimizations (waiting on some spare time)
- Moving COM impersonation to the interface level
(waiting to see if needed)
New client DLLs will NOT work with the new service.
The new service should work with old client DLLs.
The service must be registered for client custom
actions to run.
00-01-28 eugend Fixed bug # 10530: The call to System Restore API
now happens before we lock the server (write the
InProgress) key.
00-01-27 cnapier Fixed bug 10319. Makefile. Added dependencies for
orca and msival2 cabinets so they could be built.
Note, we should probably build these in a post build
process since they have dependencies on files built in
different flavors.
00-01-24 chetanp bug 10347 - fixed infinite recursion caused when
installing fonts with badly formed version string
00-01-24 cnapier Fixed bug #10448. ActionText.Description,
ActionText.Template, and Error.Message columns are now of
length 0 (infinite) to make localization easier (since
many languages have much longer strings than their
english counterparts).
00-01-24 bench Fixed bug 10432: the DuplicateFile.DestFolder column
was the incorrect size for an identifier column.
00-01-21 chetanp fixed bug 10444. Prevent the IsolateComponents
action from running twice (once from the InstallUISequence
and once from the InstallExecuteSequence) in the
same engine (on Win9x).
00-01-20 cnapier Fixed bug 10400. SDK. Made it possible for
uisample.msi, schema.msi, and sequence.msi to be merged
together without merge conflicts. Removed reference to
dialogs from sequence.msi (other than the typical
dialogs denoted by negative sequence numbers).
00-01-19 mattwe Bug 10398: Added validator for InstallSFPCatalogFile
to ICE26 and ICE27
00-01-19 bench Fixed bug 10394: fixed case statement that didn't
handle the imsAbort return from Message() correctly,
causing the installer to behave as if the install
failed rather than being cancelled.
00-01-19 bench Fixed bug 10423: added INSTALLPROPERTY_PACKAGENAME
which was mysteriously absent although fully supported
as an argument to MsiGetProductInfo.
00-01-19 eugend Fixed bug # 10402: in addition to reporting the
facename and charset of the fonts it creates, Darwin now
also reports the height. It does this also in
CMsiServices::SetPlatformProperties when it determines the
size of the dialog unit.
00-01-18 cnapier Fixed bug 9670. Removed the unsupported nested
install custom actions (type 151 and 55) from Testdb.
00-01-18 cnapier Fixed bug 9292. Property dump messages are now also
sent to the External UI handler if present and
filtering for the Info messages.
00-01-18 eugend Fixed bug # 10282: from now on the presence of
checkboxes on dialogs will not draw the focus to get set
to them.
00-01-18 cgouge Bug 10350. Added additional logging to source
resolution to assist in detecting source problems.
00-01-18 cgouge Bug 9970. Added null terminator to command line
argument array to avoid potential crash in msiexec when
given an invalid argument.
00-01-18 bench Fixed bug 10196: under certain conditions when
creating a randomly-named log file, the installer would
enter a very long loop creating a ton of 0-byte log
files. This was caused by a bug in the code that
generates the temporary log file names.
00-01-17 cnapier Fixed bug 10252. Updated msitool.hlp for all tools
(made it current).
00-01-17 cnapier Fixed bug 10377. Validation. Created a new class
CManageTable for ICEs to use for managing hold counts
on tables. Guarantees that if an ICE were to fail,
the HOLD counts that the class is responsible for are
FREED for that table.
00-01-17 cnapier Fixed bug 10319. Validation. New ICE74. Ensures
that the FASTOEM property is not authored in the
Property table.
00-01-17 cnapier Fixed bug 10368. Validation. Fixed ICE12 to not
incorrectly error on Type 39 custom actions.
00-01-17 cgouge Bug 10352. ICE61 did not handle the InclusiveMin and
InclusiveMax attributes correctly when validating
the upgrade table.
00-01-17 cgouge Bug 10346. Downgraded ICE61 "only older version"
error to a warning. This supports products replacing
newer versions of themselves.
00-01-17 bench Fixed bug 10414: better verbose logging for code
that increments and decrements the counter signifying
whether Darwin will reject system shutdown requests or
not.
00-01-17 cgouge Bug 10373 - typo in ICE34 error location string
00-01-17 bench Fixed bug 10374: the MsiApplyPatch api was limiting
the szCommandLine argument to 1024 characters as it
was passing the string through a wsprintf call. We
are now avoiding wsprintf, allowing to string to be of
unlimited length.
00-01-17 bench Fixed bug 10287: when scheduled custom action exes
failed in a certain way, Darwin would attempt to
reboot the system. The problem was overloaded return
values that weren't getting remapped correctly. This has
been fixed.
00-01-14 bench Bug 10206: created a new tool for the sdk:
MsiMsp.Exe. This is a command-line tool that wraps
PatchWiz.Dll and is used to create patch packages (.msp files).
See MsiTool.Hlp for usage and other info.
00-01-14 eugend Fixed bugs # 10317, 10318, 10320 & 10381. All of
these were OEM issues. The changes do not allow a
FASTOEM installation to occur in upgrade, patch,
maintenance and advertise mode installs, but only on first
runs. UI or UI preview are not permitted either in
FASTOEM scenarios. On NT only per machine installations
are allowed in FASTOEM mode.
00-01-14 eugend Fixed bug # 10199: As per instructions for GHeino,
I've upgraded RICHED20.DLL to ver. 5.30.23.1200 and
USP10.DLL to ver. 1.325.2180.1.
00-01-14 bench Fixed bug 10310: fixed a few calls to IStrCopy that
could have passed a null pointer. Doing so causes a
crash when running under a debugger.
00-01-13 cnapier Fixed bug 10381. Updated MsiVal2's packagecode,
productcode, and productversion due to changes in
msival2.exe. These changes are preparatory for the next
SDK (probably 1.2).
00-01-13 cnapier Fixed bug 10395. SDK and MsiSpy now install to
ProgramFilesFolder by default.
00-01-13 bench Fixed bug 10039: MsiSetPropertyW was not calling the
correct thread-safe routine for setting properties.
Now it is.
00-01-12 cgouge Bug 10365. Fixed a mismatched
Start/StopImpersonating call on a BindImage failure case that was found by
code audit.
00-01-12 cgouge Bug 10349. Fixed some mismatched
Start/StopImpersonating calls that were causing failures in
GetFileChecksum. This problem would result in the impersonation
count becoming corrupted and further impersonation
calls failing.
00-01-12 eugend Fixed bug # 10361: if rollback is disabled,
CMsiOpExecute::InitializeWindowsEnvironmentFiles() doesn't
back up AUTOEXEC.BAT anymore.
-----------------------------
Release 1.1.1311
-----------------------------
00-01-11 cnapier Fixed bugs 10192 and 10253. SDK. Our SDK is now
ready for the Millennium (or next release). All 110
related files have been archived. The SDK now makes
use of the uisample UI. In preparation for the next
SDK, the product, package, and product versions have
all been updated so that they will be correct when we
build the next SDK. Pullsdk.bat was updated to create
the additional 110 directories beneath Database (for
schema.msi and sequence.msi) and Tools (for the 1.1
logo, darice, and mergemod cube files). Furthermore,
the SDK has been somewhat reorganized to have a
separate Archive feature which then has the 100 and 110
subfeatures and whose installstate is initially set to
absent.
00-01-11 chetanp fixed bug 10263 - we were not releasing source file
handle upon a file copy initialization error.
00-01-11 cnapier Fixed bug 10281. Removed msival2's dependency on a
hard-wired product code. Instead, MsiVal2 determines
its product code at runtime (via MsiGetProductCode)
using the component code of its main exe component.
This component code will typically not change whereas
the productcode typically changes from one SDK
release to the next. The only potential gotcha that is
handled in the code is that the main exe component is
conditionalized on the OS platform (Win9X or WinNT).
00-01-11 cnapier Fixed bug 10309. All localized ActionText and Error
tables will now pass validation when imported into
an already valid database. Also created the
validt.bat batch file in %DARWIN%\src\tools to be run PRIOR to
check-in of the localized files.
00-01-11 bench Fixed bug 10366: fixed logic that caused an error
when applying a product-code-changing patch to a
product with an embedded cabinet. The error was caused
when we thought the cached msi we are running from
should have contained the cabinet, which cached msis do
not.
00-01-10 mattwe Fixed bug 9928: SFP catalogs can now be installed
on Millennium platforms.
Added tables: SFPCatalog and FileSFPCatalog
Added action: InstallSFPCatalog
spec: http://dartools/dardev/specs/SFP-Millennium.htm
00-01-07 cnapier Fixed bug 10191. Incorrect cost calculation during
Maintenance Mode when toggling the install state of
an already local feature in the Selection Tree. Also
added new controls to testdb's SelectionDialog to aid
in testing of this bug fix. During the toggling of
a feature's state, three controls keep track of the
PrimaryVolume* properties.
00-01-07 cnapier Fixed bug 10298. Removed the easter egg from
MsiSpy.
00-01-07 eugend I've checked in the code that implements Darwin's
interactions with Windows Millenium's PC Health
feature. Bug # 9929 was tracking this.