windows-nt/Source/XPSP1/NT/admin/darwin/doc/relnot99.txt

2824 lines
146 KiB
Plaintext
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
Darwin Setup Development Notes for Testing Releases
-----------------------------
Release 1.1.1209
-----------------------------
99-12-09 eugend Fixed bug # 9909: the latebinding functionality got
extended as not to attempt to load again a DLL it
couldn't load on the first attempt.
99-12-09 eugend Fixed OEM bugs # 9931 & 9959. In the fix to 9959
I've replaced calls to GetFileAttributes with
GetFileAttributesEx which is faster. 9919 addresses all other
speed optimizations. See spec at
http://dartools/dardev/Specs/OEM%20Fast%20Install.htm for the list.
-----------------------------
Release 1.1.1029.1
-----------------------------
99-11-30 mattwe Bug 10209: If the system Environment key in NT
contains blank REG_EXPAND_SZ values, they'll be
deleted by running instmsi/copymsi
99-11-30 mattwe Bug 10258: InstMsi/CopyMsi will silently succeed
on Windows 2000 and later versions of the
non-9X operating systems.
99-11-29 cnapier Fixed bug 10275. SDK. Changed hardwired product
code used by msival2.exe to new product code (see bug
10002). Dropped release of msival2_100 from SDK.
-----------------------------
Release 1.1.1029.1
-----------------------------
99-11-23 cgouge Bug 12049. The GetTokenInformation call on NT4 TSE
was failing when trying to grab the Session Id out of
the impersonation token on NT4 TSE. WE now bypass
that codepath because we don't support remote session
installs on NT4 anyway.
99-11-21 bench Rebased msi.dll, msihnd.dll and msimsg.dll to avoid
conflicts with Office10 files. New base will only apply
for downlevel systems, as the NT build lab automatically
bases these files in the system range.
#
# bases - our address range for downlevel systems
# (reserved for us by the Office team) is 0x24400000-0x248FFFFF
#
# msi.dll : 0x24400000 - 0x246A0000 (approx. 2,750,000)
# msihnd.dll : 0x246A0000 - 0x247A0000 (approx. 1,050,000)
# msimsg.dll : 0x247A0000 - 0x248FFFFF (approx. 1,440,000)
#
#
99-11-19 cnapier Fixed bug 10259. SDK. Readme.txt date changed to
December 1999. Redist.txt changed to reference 1.1
redistributables. ProductVersion in Property table
changed to 1.1
99-11-12 cnapier Updated wimakcab.vbs to be able to generate a DDF on
the fly with a sourcepath that contains spaces.
Furthermore, fixed intelmsi.bat to be able to handle a
release location with spaces when generating the SDK
msi's.
99-11-09 eugend Fixed bug # 10199: I've checked in the latest
RichEdit binaries:
- RICHED20.DLL ver. 5.30.22.2300 - got it from
- MSLS31.DLL ver. 3.10.337.0 - got it from GHeino
- USP10.DLL ver. 1.325.2145.1 - got it from build
2714 fre.wks of NT.
99-11-08 cnapier Fixed bug 10201. Validation: ICE66. Warning of new
functionality only output if column of table (with
new schema) actually present in database.
99-11-02 cnapier Fixed bug 10175. MakeSDK.bat file for generating
1.1 SDK. Takes 3 arguments: %1 = release share target
(placed in x86 directory that is created if not
exist), %2 = MSI release build (instmsi.exe), %3 = TOOLS
release build. Finally calls intelmsi.bat to create
the msi's for the SDK. To test on own machine, you
can set the COPYBLDSERVER and COPYBLDSHARE environment
variables. Finally, the product and package code
guids for the 1.1 SDK package have changed (as per
arrangement with bug 10002). Note: we never register the
SDK since we never call RegisterProduct in our
sequence table.
99-11-01 cnapier Fixed bug 10002. Changed package and product codes
for msival2.msi, orca.msi and msispy.msi (our SDK
packages). Added a file to %DARWIN%\data called
msipkgs.log which logs the product, package, and upgrade
codes of our SDK packages from 1.0 SDK to the current
SDK. This also lists the new GUID,
{8FC7****-88A0-4b41-82B8-8905D4AA904C}, which we will use for subsequent
SDK packages.
99-11-01 cnapier Fixed bug 10176. Validation. ICE73 (new).
Verifies that your package does not reuse Windows Installer
SDK packages package, product, and upgrade codes.
The new GUID range for subsequent installer SDK
packages (1.1 and on) is
{8FC7****-88A0-4b41-82B8-8905D4AA904C}.
-----------------------------
Release 1.1.1029
-----------------------------
99-10-29 cgouge Bug 10185. Added missing StopImpersonating() call at
the end of the CustomEXE thread which would throw
off impersonation counts on future threads with the
same ThreadID.
99-10-28 cnapier Fixed bug 10177. SDK. Added msiloc.cpp to SDK.
The .cpp file as well as the msiloc.txt file (a readme)
will be included with the other sample source files.
99-10-28 cnapier Fixed bug 10133. Msizap. Now removes a product's
published component information from the components'
keys in per user, per user managed, and per machine
locations. The affected options of msizap are T and O.
(RemoveAll unaffected since it deltrees the registry
keys).
-----------------------------
Release 1.1.1028
-----------------------------
99-10-27 chetanp fixed bug 10167 - cleanup of orphaned disabled
feature registration in roaming profile for "managed" user
apps.
99-10-27 mattwe Bug 10164: LocalSystem or Local Administrators can
now own managed app keys, instead of just system.
99-10-27 cnapier Fixed bug 9962. Fixed pullsdk.bat so that it did
not copy over the ship bits for instmsi* since these
are not the released bits (the lego versions). Also
fixed pullsdk.bat so that msi.h and msi.lib were the
public headers and libs and not our private ones.
Previously we copied over the private header and lib to
the SDK folder on united\darwin\darwin.rel\%build%.
99-10-27 cgouge Bug 10173. Deferred elevated custom actions in
non-managed installs would be impersonated but not run
through the CA server. This resulted in a non-elevated
app gaining system rights if the custom action could
bypass the thread token.
99-10-27 cnapier Fixed bug 10050. alpha removed from the SDK folder.
The x86 had already been ALPHA-clean. The fix here
was to change copybld.bat so that it would not call
pullsdk.bat if the platform was Alpha.
99-10-27 cgouge Bug 10150. Script actions are now run through the
custom action server to prevent spawned child processes
from gaining elevated rights.
99-10-27 mattwe Bug 8218: We no longer clobber the policy settings
in instmsi. We now only clobber them via service
startup if not owned by the appropriate people.
(That code is old, the instmsi is the only current
change)
99-10-27 cgouge Bug 9899. Fixed ANSI orca validation problem when
using qualified component CUB file, plus problem with
orca installer that led to bad validation COM
registration
99-10-27 cgouge Bug 9710. MergeMod.Dll. We no longer require the MSI
sequence table schema in the module if the
corresponding module table is empty and we are not generating
any directory actions for that MSI sequence table.
99-10-26 cnapier Fixed bug 10092. Msiinfo handling of codepage
validation updated to ignore the case where the property
doesn't exist in the property stream (VT_EMPTY
returned). This was added because internally Darwin
supports this where it defaults to codepage neutral (0) if
the PID_CODEPAGE property doesn't exist.
99-10-26 cgouge Bug 9894. Added a select subset of standard ICE
validators to the merge module CUB file. These validators
apply equally to modules and full databases.
99-10-22 cnapier Fixed bug 10143. Validation. ICE06. Changed error
message so that arguments are correct (column goes
with column, table goes with table).
-----------------------------
Release 1.1.1022.1
-----------------------------
99-10-22 eugend I revisited the checkin for bug # 10131: several
screen-readers expect the text in the STATIC control
that precedes an EDIT control to end in ':' so I've
changed the functionality to append ':' to the text
MaskEdit control serves the screen-readers.
-----------------------------
Release 1.1.1021
-----------------------------
99-10-21 mattwe 9718: The SFC dll will no longer be loaded on Win9X.
99-10-21 cgouge Fixed bug 10130. Exe custom actions on TS. STARTUPINFO.lpDesktop
is now set to Winsta0\Default (instead of NULL) so that together with
the TS sessionID, the UI is placed on the visible desktop of the
appropriate session.
99-10-21 eugend Fixed bug # 10131: MaskedEdit control is now
sensitive to screen readers.
99-10-20 cnapier Fixed bug 10096. Validation (MM). ICEM10. Verifies
that a merge module does not contain disallowed
properties. (Dev note: Disallowed properties are listed
in the _Disallowed table stored in the mergemod.cub
file).
99-10-19 cnapier Fixed bug 10091. Validation: ICE12. ICE12 can now
validate type 35 and type 51 custom actions that also
specify scheduling options (like TypeFirstSequence).
99-10-19 cnapier Fixed bug 10092. Msiinfo now will only set the
codepage (/c option) of the summary information stream if
the system supports the codepage supplied.
Furthermore, the summary information strings are only
displayed if the system supports the codepage of the summary
information stream (this is only on a NT/W2K
system...no such verification is done on Win9X since no
translation from ANSI to WIDE occurs on Win9X platforms).
99-10-18 cnapier Fixed bug 10095. Schemalog.txt which is NOW
SCHEMA.LOG (for 8.3 filename verification) has been updated.
It includes the listing of tables, columns added
since schema 100 (upto schema 110) plus any columns
whose attributes changed within that time period.
Additionally, the SDK msi was modified so as to pass the
full validation suite.
99-10-18 cnapier Fixed bugs 9962 and 10050. 9962 dealt with the
inclusion of the SDK drop in our regular builds. It was
fixed, but made the assumption of pulling everything
from the United\Darwin\...\Public folder, which is
the folder that it now replaces. PullSdk.bat now picks
up everything from the places that it can find the
files at. 10050: ALPHA removed from SDK (directly).
This basically means that msispy.msi no longer has
ALPHA support. NONE of the msispy alpha files are
dropped in the SDK or in msispy now (the ALPHA features,
etc. have been removed as well). Furthermore,
msispy only contains the SHIP version of the resource
DLLs, however they are tied to a separate feature so are
still available when installing the debug features
(DEBUG=1 on msiexec command line) for msispy or
installing the "ship/x86" features.
99-10-18 cnapier Fixed bug 9866. Resource DLL's for msispy
(spyjpn.dll, spyenu.dll, spyara.dll, and spydeu.dll) now have
versions. All msispy DLL's now track MSI version.
Msispy's file table is now authored correctly (updated
during build process by reading from spycab.ddf
although msispy files are not actually cabbed). For
resources to work with the resource DLL's, msitool.mak
was modified. A .cpp file can now optionally specify a
LANGUAGE and CODEPAGE in hex to work with properly
languaging the DLLs. For example, spydeu.dll uses
spydeu.cpp which specifies CODEPAGE = 0x04E4 (for 1252)
and LANGUAGE = 0x0407 (for 1031 = GERMAN).
Furthermore, a .cpp file can now specify both generation of a
VERSION resource as well as inclusion of a separate
resource file (.res). The spydeu.cpp files in
%DARWIN%\src\tools\spy is an example that utilizes this new
feature.
99-10-13 cgouge Bug 9892. Merge Module validation, ICEM09, checks
that if you are installing to predefined directories
that you have aliased the directory primary keys and
either generated the appropriate custom actions and
placed them in the right place in the sequence tables or
that you have left it completely to the merge tool.
99-10-12 cnapier Fixed bug 10078. ICE72: new validator. The only
customactions allowed in the AdvtExecuteSequence table
are type 19, type 35, and type 51 custom actions.
-----------------------------
Release 1.1.1012.1
-----------------------------
99-10-11 mattwe Bug 9962: The SDK now replaces our release
PUBLIC directory. All your favorites should
be there, you may just need to look in a
different spot. The SDK flat files are copied
out, and the actual SDK package with the
cabinets is at the root of the x86 branch.
99-10-11 mattwe Bug 10014: continued: removed WRITE_DAC and
WRITE_OWNER from the custom action server
process as well.
-----------------------------
Release 1.1.1012
-----------------------------
99-10-11 mattwe Bug 10014: The custom action server is now secured
against being debugged by the current user.
This is necessary to prevent the user from having
a trusted channel back into the service to modify
the install.
99-10-09 cgouge Bug 10024. A Work2000 CA was failing because COM is
already initialized on the CA thread in a different
threading model than they were trying to use. We now
spawn a separate thread for the action and don't
initialize COM.
99-10-07 cnapier Fixed bug 9955 (exempt). ICEM04. Merge Module
validator that ensures that required empty tables are
indeed empty in the Merge Module. ICEMAN was fixed up
as well (ICEMXX validators no longer have hyphens).
-----------------------------
Release 1.1.1007
-----------------------------
99-10-06 cgouge Bug 10053. ANSI API calls with DBCS characters were
returning the wrong buffer size for DBCS characters.
We have gone back to the sub-optimal solution of
returning twice the required buffer size in this
situation.
-----------------------------
Release 1.1.1006
-----------------------------
99-10-06 eugend Fixed bug # 10042: if we were failing to open the
destination file for any reason, we weren't closing the
previously open source file handle.
99-10-05 cgouge Bug 9967. Several APIs were failing when passing
NULL as an input string buffer when they should have
been succeeding (such as clearing a property). These
string arguments now correctly handle NULL arguments.
99-10-05 cnapier Fixed bug 9899. (exempt). Orca. Fix infinite loop
if publish component information is not registered.
99-10-01 bench Fixed bug 10048: MsiConfigureProductEx is now
exported from the public msi.lib.
-----------------------------
Release 1.1.0930
-----------------------------
99-09-29 cnapier Fixed bug 10013. Msi.rc. Network dialog resource
chopped off parts of German text (and potentially
Spanish as well). MsiDlgs tool was updated as well since
its resources must match those in msi.dll. Msidlgs
also did not have a large enough buffer to handle the
German prompt string, possibly leading to not having
found this bug sooner.
99-09-29 cgouge Bug 10018. Custom actions that throw exceptions now
return failure instead of random value.
99-09-28 mattwe 9994: Updated readme in SDK to point new users to
msi.chm as starting point for authoring, and to
find descriptions of examples.
99-09-27 cnapier Fixed bug 9887. Msizap now has an undocumented
option (o) for "orphaning" parts of a product. This was
provided for OEMs to use. It works similar to the T
option for removing a product, however it does not
remove cached icons or clear shared DLL references
-----------------------------
Release 1.1.0923
-----------------------------
99-09-23 cgouge Bug 10017. MsiBreak on action running via custom
action server was not activating JIT Debugging because
the breakpoint exception was getting caught by the
custom action entry point exception handler.
99-09-23 mattwe Bug 9966: Registering directories on 9X no longer fails
the install when we run out of registry space.
Registering fails, and orphans the directory, but allows
install to continue.
99-09-20 cgouge Exempt - no bug #. Checked in code for the new
version of the IceMan ActiveX control on \\dartools. This
DLL is internal use only and is not part of the build
process.
99-09-20 cgouge Bug 9897. Added ICE-M07, which ensures that the
sequence order of files in the CAB matches the sequence
of files in the file table.
99-09-20 cgouge Bug 9896. Added ICE-M06, which ensures that merge
modules have no explicit feature references.
-----------------------------
Release 1.1.0917
-----------------------------
99-09-14 chetanp bug 9805 - we ignore installed component
registrations if component path is not accessible for current
user (in multi-user installation scenarios)
99-09-13 bench Fixed bug 9957: logging started during the install
when an error occurs is now handled the same as
logging started via policy, where we stop using the log at
the end of the install.
-----------------------------
Release 1.1.0904
-----------------------------
99-09-10 cgouge Bug 9960: eliminated crash on NT4SP3 caused by too
many release calls on a marshaling object.
99-09-04 bench Bug 9944: rebuilt the AXP64 and IA64 builds with the
latest tools, libs and headers (from Win2000 build
2121). the IA64 compiler changed and a rebuild using
the new compiler was necessary.
-----------------------------
Release 1.1.0902
-----------------------------
99-09-02 chetanp bug 9918 - latebind fix. dont call GetProcAddress
with null hModule
99-09-02 chetanp bug 9913 - avoid expensive call to
WNetGetResourceInformation with "filename only" args
99-09-02 cnapier Fixed bug 9895. MM validator. ICE-M05. This is
the Merge Module validator that validates for stray
components in the merge module. A stray component is
defined as (1) Component listed in Component table but
not in ModuleComponents table or (2) Component listed
in ModuleComponents table but not in the Component
table. In addition, it catches those Components listed
in the ModuleComponents table whose ModuleID does not
match the current ModuleID (signature) of the Merge
Module.
99-09-03 cgouge Bug 9893, MM Validation. Added ICEM03, which checks
that all Module*Sequence tables form a proper forest
under valid root nodes. (Fixed for 0902, but relnotes
added later)
99-09-03 cgouge Bug 9890: Added ICEM02, which checks that a merge
module has valid exclusions and dependencies. (Fixed
for 0902, but relnotes added later)
99-09-03 cgouge Bug 9752. Added initial merge module validation
infrastructure. mergemod.cub file is now built and
dropped with other CUB files. It is also installed in the
msival2 installer. (Fixed for 0902, but relnotes added later)
99-09-02 cnapier Fixed bug 9669. ICE66. Changed warning message to
place warning on the table instead of on the
SummaryInformation stream. This affects Orca's graphical
display (now on the table instead of the pop-up msg
about the SummaryInformation stream containing errors).
99-09-02 cgouge Bug 9914, missing namespace on CoInitializeEx call
short-circuited latebinding, which caused creating the
process to fail on Win95 gold, even though the
function was never called on that platform.
99-09-01 eugend Fixed bug # 9906: I've removed an unnecessary Assert
I've added while fixing 9864.
-----------------------------
Release 1.1.0831
-----------------------------
99-08-31 chetanp bug 8062 - use case insensitivity for file path
comparisons when determining when to clean up HKCR
registrations
99-08-31 mattwe Bug 9796: On Win9X, the Environment actions are now
more robust about recognizing "set" lines, including
whitespace, and making the "set" optional.
Example: path=foo, and set path=foo are now both
acceptable in existing lines of the autoexec.bat
99-08-30 cnapier Fixed bug 9885. MsiZap. Deleting an UpgradeCode
value from the UpgradeCodes key failed because the key
was only opened with Read access. Delete requires
KEY_SET_VALUE access.
99-08-30 bench Bug 9886: we no longer attempt to bind WFP-protected
files (with the BindImage action, BindImage table,
etc...)
99-08-30 cnapier Fixed bug 9868. EvalCom.dll. Two potential trouble
areas where we could be calling through a garbage
pointer or we could be attempting to get the length of
a null string.
99-08-30 cnapier Fixed bug 9872. Use of CTempBuffer without
services. Changed to use CAPITempBuffer. This was exposed
on NT 4 Server when MsiUseFeature was called (it then
called IsTerminalServerInstalled which is where the
CTempBuffer was used).
99-08-27 cgouge Bug 9772, 9773. We now build merge modules for
mergemod.dll and evalcom.dll. These will be build into the
data directory and dropped at samples\modules. These
are generally for MS use only.
99-08-26 eugend Fixed bugs # 9852, 9864 & 9880: all of these have to
do with a bad fix I made to 9566. The fix to 9864
consists mainly of removing the calls to
SfcConnectToService and SfcClose from DllMain and putting them
into MsiUIMessageContext's Initialize and Terminate.
9852 is tracking the performance issue resulting from
the condition that caused 9864, so that this one got
fixed as well by the fix to 9864. The fix to 9870
consists of moving the call to SFC::Unbind from
UnbindLibraries into MsiUIMessageContext::Terminate, right
after the call to SfcClose.
99-08-25 cgouge Bug 9644, 9762. The custom action server was not
secure and would fail when the client was not the same
as the user owning the desktop. To work around this,
Darwin has taken over management of the custom action
server process. Security is now enforced through a
combination of ACLs and cookies, and the owner of the
server is now the determined by the impersonation
token held in the service. See the bugs for details.
99-08-25 cgouge Bug 9857, thread problems with custom actions. When
custom actions were run from the custom action
server, there was no relationship between the thread in the
service and the thread in the client (especially for
async actions.) This meant that handle management
was all goofed up, because the service would think that
the wrong threads were trying to close the handles.
We now pass the thread id of the caller across to the
service to be used in these cases instead of using
the real thread id.
99-08-24 chetanp bug 9818 - hack to prevent premature removal of
class registration (to work around incorrect component
definition)
99-08-23 cnapier Fixed bug 9803. Security. We now verify that the
owner of our registry keys (Installer, Policy, and
Managed) is system or admin. The MSI folder must also
be admin or system owned (unless on a FAT system where
there is no security with files or folders).
Non-system or admin owned keys are deleted (and would
therefore be recreated).
99-08-23 cnapier Fixed bug 9836. String pool corruption occured if a
table was loaded in memory with no persistent data
changes and the string pool index was bumped from 2 to
3 (over 64K strings). The table is then released
(and no changes saved since no persistent data
changed). Upon re-load, table is read in incorrectly since
the index size bumped. We read in a 2 byte persisted
format as 3 bytes. Fix was to include the string
index bump as a "data change" and to mark all
non-temporary tables when the string index was bumped.
99-08-18 mattwe Bug 9844/9845: Minor fixes to MsiGetShortcutTarget and
its automation for buffers being too short for the null.
Added logic for CFixedLengthParam to detect overruns in
DEBUG only.
99-08-17 cnapier Fixed bugs 9832, 9833. ICES 44 and 45. Fixed so
that the ICE UNKNOWN error is not returned. For ICE44,
UNKNOWN was returned if you didn't have a Dialog
Table but had a ControlEvent table. This was corrected
to not report an error if ControlE table is empty and
reports an error that the Dialog table is missing if
ControlE table is not empty. ICE45 fixed the buffer
problem when getting a summary information stream.
We didn't handle the ERROR_MORE_DATA case correctly.
99-08-17 bench Fixed suggestion bug 9834: MsiFiler now sets the
Language column of the File table along with the Version
and FileSize columns.
-----------------------------
Release 1.1.0816
-----------------------------
99-08-16 mattwe Bug 9636: Implemented new API MsiGetShortcutTarget
to retrieve product, feature, and component from a
Installer shortcut.
99-08-13 chetanp bug 9801 - replace global feature cache semaphore
with local one.
99-08-13 cnapier Fixed bug 9776 (regression). The ModuleDependency
ModuleLanguage column was entered incorrectly in the
_Validation table used with schema.msm and schema.msi
99-08-12 eugend Fixed bugs # 9566 & 9817: both of these two fixes
improved Darwin's performance with regard to its
interactions with SFP (system file protection).
-----------------------------
Release 1.1.0811.1
-----------------------------
99-08-11 chetanp bug 9381 - incorrect param to CreateFileMapping and
premature return from fn, in case of error, w/o
releasing semaphore causes hang.
-----------------------------
Release 1.1.0811
-----------------------------
99-08-11 bench Fixed bug 9820: regression of bug 9760. reset a
global flag when necessary to prevent calling Wx86 apis
when emulation not loaded.
-----------------------------
Release 1.1.0810.1
-----------------------------
99-08-10 cnapier Fixed bug 9813. ICE64 -- which validates
directories in user profile are added to RemoveFile table.
However, if the DefaultDir column uses the specification
of ".:MyDir", then it is valid (provided all parents
up to profile folder have .:).
99-08-10 bench Fixed bug 9819: we always return
ERROR_INSTALL_FAILURE from MsiAdvertiseScript for invalid script
problems.
-----------------------------
Release 1.1.0809
-----------------------------
99-08-09 cnapier Updated pullsdk.bat, copypub.bat, and makefile to
handle building the msival2.msi 1.0 SDK refresh files
to specific alpha and intel directories (since the
cube file stuffed in the package is platform specific).
Pullsdk.bat was modified to pull the correct package
based on platform. Copypub.bat copies both versions
to Alpha and X86 directories beneath the
packages\100 archive.
99-08-09 chetanp bug 9816 - check return of while enumerating scripts
on alpha for bogus script file.
99-08-09 chetanp bug 9719 - remove shared read/write section from
msi.dll. Replace with shared memory mechanism
-----------------------------
Release 1.1.0808
-----------------------------
99-08-08 bench Fixed bug 9760: several problems with advertising
x86 scripts on alpha machines. Emulation was not
correctly being enabled.
99-08-08 bench Fixed bug 9810: AdminTools folder not properly
handling cross-machine script generation/execution.
99-08-04 cnapier Fixed bugs 9699, 9765, 9776. These deal with the
logo cube files and the 1.0 SDK refresh. We now cab
the logo.cub file with msival2.msi and install it as
well. For 1.0 SDK refresh, the original cub file was
modified to work with 1.1 darwin (change schema in
SumInfo from 28 to 100). An x86 and alpha version are
available and built from %DARWIN%\public\packages\100
(x86 and alpha directories respectively). A 1.0 SDK
refresh msival2.msi is built and put in the
public\packages\100 directory. The _Validation table now
contains entries for the MergeModule tables that could be
merged into your database.
99-08-04 cnapier Fixed bug 9792. Removed line where we assumed a
record had transform data during uninstall. Apparently
this was overlooked when we changed how we obtained
transform information (now from registry). During
remove, we only populate the record with the names of
the transforms, not name-data pairs. We now remove all
transforms (not every other) on Per Machine
installs.
99-08-03 chetanp bug 9731 - we no longer ACL the files (profile
transforms and icons) that are put in the appdata folder
during per user installs.
-----------------------------
Release 1.1.0803
-----------------------------
99-08-02 bench Fixed bug 9780. made a few Win64-only code changes and a
couple of non-specific ones to get Win64 builds going with
the latest build tools. We should now be dropping ship and
debug Win64 builds to \\united\darwin.
99-08-02 bench Bug 9313 - fixed minor problem with previous fix. when profiles
were enabled, a different user would be allowed to continue an install
after reboot. an error would be thrown, but as a warning and not a
fatal error.
99-08-02 johndelo Bug 9581 - sequence.msi built which has recommended
sequence tables. Darwin 1.0 version for 1.0 SDK
checked in under DARWIN\public\packages\100
Header files conditionalized with MSI version check
for 1.1 definitions that are not available in 1.0
Version 110 (MSI 1.0) forced if _WIN32_MSI not defined
AND _WIN32_WINNT >= 0x0500. Core components set _WIN32_MSI
to 110, but tools use 100 to insure 1.0 compatibility.
99-08-02 cnapier Fixed bug 9726 (regression). Caused by bug 9751 fix
which overwrote these changes. Removed trailing
quote from WFP error strings in Error table. Updated
inst1033.msi and error.enu. All localized files were
correct.
99-08-02 cnapier Fixed bug 9684 (regression feature request). New
ICE71 to verify that the Media table has an entry with
DiskId = 1.
-----------------------------
Release 1.1.0729
-----------------------------
99-07-29 mattwe Bug 9767: Removed the full system path on system
library loads on Win9X. This isn't necessary to
security, and busts instmsi/copymsi.
99-07-28 cnapier Fixed bug 9766. Fix the S option with msizap so
that it actually does work. (S removes rollback
information).
99-07-28 cnapier Fixed bug 8905 (regression new feature request).
X-ref components in same feature is a warning. X-ref
components in different feature, parent feature, or
child feature is an error. Verb-Ext, AppId-Class
validations are all warnings (open to author
interpretation).
99-07-28 bench Fixed bug 9313: on Win9X, allow a user to resume a
ForceReboot install after reboot if profiles are
disabled. This didn't work previously if the user started
the install when logged in as themselves (or dialed
up to the network) but after the reboot they
cancelled the login prompt (or didn't dial up).
-----------------------------
Release 1.1.0728
-----------------------------
99-07-27 mattwe Bug 9601: Shell folder Admin Tools will
be deleted if it is empty. Since our lookup
mechanism may create it, we don't want empty
copies lying about.
-----------------------------
Release 1.1.0727
-----------------------------
99-07-27 mattwe Bug 9763: added .DLL to system library loads
99-07-26 cgouge Bug 9643, cleaned up mergemod header file.
99-07-26 cnapier Fixed bug 9751. In all of the error.XXX tables in
%DARWIN%\data\intl (and instXXXX.msi in
%DARWIN%\src\intl) updated the 1301 error message by changing
parameter from [3] to [2]. (Used a script for this and
made sure I was on a machine with all of the language
codepage supports).
-----------------------------
Release 1.1.0722
-----------------------------
99-07-23 cgouge Bug 9637 (regression) Wide versions of the APIs now
will succeed when remoted.
-----------------------------
Release 1.1.0722
-----------------------------
99-07-22 cgouge Bug 9743. MergeMod was generating invalid sequence
tables when multiple predefined directories were used
in a module that already had multiple predefined
directories from earlier modules.
99-07-22 cgouge Bug 9596 regression. Change to command line parsing
had broken the ability to use merge modules from the
command line (caused by a variable initialization in
the wrong place.)
99-07-22 chetanp bug 9732 - We now accomodate the case where a CA
calls Modify on a SELECT query w/o calling Execute.
99-07-22 mattwe Fixed bug 9722: "latebound" DLLs now are expected
to be in the system directory, and will only load from
there. Non-optional system components (like msi.dll)
will continue to load normally. (So, you can still
run msiexec from a private directory, as long as you
have privileges to register the service there.)
99-07-22 cnapier Fixed bug 8811. Problems with costing cached patch
packages. When we began recosting the engine cost
(cached database, script, etc) we never re-intialized
the cost of the cached patch package. This would
result in our writing bogus values for the estimated size
in the ARP uninstall key.
99-07-22 cnapier Fixed bug 9740. Propogate _Validation table changes
(Class.Argument, Environment.Values have
Category=Formatted) to all databases. Our 1.0 databases grabbed
the _Validation table from
%DARWIN%\public\packages\100. Updated _Validation table in 100 and 101 for
those entries. Note that
%DARWIN%\data\schema\_validat.idt was correct. Also, 1.0 Darwin supports these
columns as formatted, we merely validated them as Text.
99-07-21 cnapier Fixed bug 9726. Error.enu corrected to remove
trailing '"' in 1930,1931,and 1932 error messages.
Error.idt and ActionTe.idt files delfiled from
%DARWIN%\data\template. Makefile changed so that error.enu and
actionte.enu files are imported into the databases
from the %DARWIN%\data\intl directory. This required
copying the .enu file to a .idt file in the TEMP
directory since the bug to fix msidb to allow import of non
idt files was punted way back when.
99-07-21 cnapier Fixed bug 9736. ICE69 in an infinite loop. Problem
was we were not handling the case where a particular
table was not found in the middle of a while loop.
99-07-21 cgouge Bug 9620: Fixed problem with new "smart merge" for
validation COM object that would cause validation to
fail if the Binary or CA tables were missing in the
target database.
99-07-21 mattwe bug 9619: verb registration for .msi and .msp are now
consistent on downlevel platforms as with NT5. InstMsi's
registry table now contains %* for verbs, allowing
command line arguments to be passed in a command line
of the form: "foo.msi blah blah blah"
-----------------------------
Release 1.1.0721
-----------------------------
99-07-20 chetanp bug 9720 - honour existing "available" feature
state, if readvtising a feature marked as absent via an
advertisement script (during app deployment, relogon).
99-07-20 chetanp bug 9716 - error when attempting to get file
security for a folder on the net. needed to impersonate the
user.
99-07-20 chetanp bug 9676 - ORCA: Right Click on a .msi to "Edit with
Orca" did not brings up anything on Win98.
99-07-20 chetanp bug 8882 - fixed behaviour where we were incorrectly
allowing installs from disconnected CSC sources.
99-07-20 chetanp bug 9707 - fix crash when a CA calls
MsiSetFeatureState w/o initializing the selection manager (calling
CostInitialize , FileCost , and CostFinalize
99-07-20 cgouge Bug 9684. A multi-CD install would prompt for a disk
when it needed to determine the source type, but
would list and accept any disk disk from the product.
The last used source would also get tossed in, even if
it was the wrong disk. We now prompt for and accept
only the disk that we actually need.
99-07-20 cgouge Bug 9637. The marshalling code for the CustomAction
server was having serious problems marshalling across
the users buffers when the provided size was 0. This
manifested as random crashes and/or
RPC_S_INVALID_BOUND returns from any API with an [out, string] buffer
when called from the CA server. Our API calls now
create dummy buffers of 1 char to use in these special
cases. The only exception is MsiRecordReadStream,
which maintains state and thus can't use dummy buffers.
Instead, it explicitly passes across the remote
interface a flag which says whether or not to use the
provided buffer.
99-07-20 cgouge Bug 9166. When recaching a package from a product
code, we don't verify that the sources in the source
list have the same package code as the cached package,
although they still have to have the same name. This
allows recaching via product code when the source
images have had a minor update applied.
99-07-20 cgouge Bug 9710: MergeMod. No longer populate the
AdvtUISequence table with generated custom actions for
GUID-ized predefined directories. The table is now left
empty.
99-07-20 cnapier Fixed bug 9714. MsiDb must pass number bytes, not
number of characters to WriteFile. in addition,
updated msiinfo, msimerg, and msitran to do the same thing
(they worked, but had a hard coded value instead of
sizeof(TCHAR)).
99-07-19 cnapier Fixed bug 9685. ICE70. Reactivated to handle
properties. Also added validation of #xHex syntax in
registry value column.
99-07-19 cnapier Fixed bug 9370. ICE68. Reactivated due to
disallowing certain customaction attributes for Text and
Install Types. Text allows the Pass flags (except for
InScript). Install only also allows continue flag.
99-07-15 cnapier Fixed bugs 8905, 9669, 9685. ICEs 66, 69, and 70.
Reworked ICE 66 due to fix to bug 9536. Warns
(based on your database schema) that functionality only
availabe for certain tables (like Upgrade) if
installed on Windows Installer 1.1 or greater.
ICE 69 fixed to include Environment, Class, and
AppId tables. Environment and Class table required
changes to _Validation table so that Env.Value and
Class.Argument are Formatted strings (originally listed as
Text). AppId validation similar to Verb-Extension
validation.
ICE 70. Validates that registry values with only a
single # preceding a string are followed by numeric
characters.
99-07-15 cnapier Fixed bug 9694. Made return codes from
MsiGetSourcePath consistent. Previously we returned
ERROR_DIRECTORY for W version and ERROR_BAD_PATHNAME for A
version. ERROR_DIRECTORY now standard for
MsiGetSourcePath, MsiGetTargetPath for when directory isn't in
directory table.
99-07-15 cgouge Bug 9686. Validation. We were checking the wrong
attributes in the upgrade table.
99-07-14 mattwe Bug 9698: SourceList APIs were trying to call
impersonation routines on 9X, and don't now.
99-07-14 mattwe Bug 9455: secure icons and Patch files are now
marked to elevate their operations during rollback.
99-07-14 cnapier Fixed bug 9621. Instlr11.adm. Updated Terminal
Server policy so that string looks better within the
policy editor (previously you had to scroll forever) for
down-level systems.
99-07-14 cnapier Fixed bug 9696. ORCA. Default SaveAs extension is
now ".msi" instead of ".odb". The ".odb" extension
was defunct and no longer supported in ORCA.
-----------------------------
Release 1.1.0714
-----------------------------
99-07-13 cgouge Bug 9674. Orca would crash if a repaint message came
in the middle of the command handler for File/New
when a document was already open. Fixed.
99-07-13 cnapier Fixed bug 9622. MsiZap. Fixed msizap to be more
restrictive about zapping all. Also made it possible
to remove a product with the product code or msi
package. MsiZap no longer removes the Run-Once key
(potential to mess up other apps). Msizap now removes the
Rollback information (* or S option). Finally during
removal of a product, MsiZap will remove the product
from Patch Keys and Upgrade Keys. A particular
upgrade or patch will then be removed if no other product
references it.
-----------------------------
Release 1.1.0712
-----------------------------
99-07-12 chetanp fixed bug 9536 - we no longer use the database
version to assume a particular schema type. On the other
hand, for a particular table, we first attempt to
check if it has the latest schema and fall back to the
olders shcema(s) if not. What this allows is the
ability to author a database in the most current schema
and allow same database to run in older versions of
Darwin with graceful degradation.
99-07-10 cgouge Bug 9620, Validation. The EvalCom validation object
is now more tolerant of merge conflicts between the
CUB file and Database. It ignores _Validation
conflicts, and will work around schema conflicts in the
Binary and CA table when possible.
99-07-09 cnapier Fixed bug 9621. Created a instlr11.adm file for
non-W2K systems. Used the actual system.adm file
included with W2K as the template. Extracted installer
specific information and removed conditional statements
and other keywords unavailable in versions 1 and 2 of
the system policy editor. Instlr11.adm is located
in %DARWIN%\sdk and the files for building the SDK
were updated with this additional file.
99-07-09 bench Bug 9665: put back entries for the IsolatedComponents
table in the _Validation table that were inadvertently
removed.
99-07-09 bench Bug 9660: increased version to 1.10 from 1.03, and changed
version of schema.msi to 110 from 103.
99-07-09 bench Bug 9659: msiexec.exe was entering non-localized event log
entries. rather than localize these strings, they are sent
to debug output rather than the event log.
99-07-09 cgouge Bug 9624, changed Orca installer to insntall to
correct place on Win9X
99-07-08 cnapier Fixed bug 9662. Changed ICE54 to report a warning
instead of an error when using keyfiles with versions
from companion files in different components. This
case can work but has some shortcomings as well.
-----------------------------
Release 1.1.0707
-----------------------------
99-07-07 mattwe bug 9651: Custom actions continue to be secure
for elevated actions, but may be insecure for
client side custom actions. A future bug will
be filed. This fix is for RC2 release.
99-07-06 cgouge bug 9632: Schema.msm is now dropped along with
schema.msi.
-----------------------------
Release 1.1.0702
-----------------------------
99-07-02 mattwe bug 9569: network files now only have their DACLs
saved/restored due to limitation of impersonation/
elevation.
-----------------------------
Release 1.1.0701
-----------------------------
99-07-01 mattwe bug 9569: Patching now works against secured
network files, and preserves the security correctly.
DEV: See CSecurityDescription for new generic routines
TEST: Removed the config flag from TempFileName automation
99-07-01 chetanp bug 8041 - fixed case where we were not clearing up
HKCU com registration for component C1 installed in
the context of Product P1 if the same component was
also installed by some other user in another products
(say P2) context.
99-07-01 Tracyf Bug 9635 - improved the log message generated when
an attempt is made to reinstall protected files.
99-07-01 cgouge Orca bugs. 9574, 9596, 9074, 9336. Clean up UI,
finish dropping ODB support, and fix a few Win95 Gold
problems.
99-07-01 cnapier Fixed bug 9629. Ice 35. Changed RFS warning msg to
include phrase "if running from media" as an admin
install would not have the problem.
99-06-30 chetanp fixed bug 9617 - incorrect shared dll registration
during rollback of component
registration/unregistration.
99-06-28 cnapier Fixed bugs 6677, 7535, 7536. Documented
MsiLoadString and MsiMessageBox (although they are not exposed
thru automation). Added those API plus the ixoOdbc
op codes to the contents file.
-----------------------------
Release 1.1.0625
-----------------------------
99-06-24 cgouge Bug 9599. mergemod.dll updated to support Darwin 1.1
shell folders.
99-06-24 cgouge Bug 9598. Mergemod.dll. We no longer fail if
TARGETDIR does not already exist in the database.
-----------------------------
Release 1.1.0624
-----------------------------
99-06-23 cnapier Bug 8905. Validation. Added ICE69 which checks
cross-referencing of components between formatted
strings. Also does some cross-checking of components
between formatted strings in the Verb table and components
in the Extension table. Tables typically validated
are the Shortcut, IniFile (and Remove), Registry (and
Remove), and a few others.
99-06-23 cgouge Bug 9152. Validation. Added ICE66 which checks the
schema of your package and the tables in your database
to make that your schema is in the appropriate
range.
99-06-23 eugend Fixed bug # 9507: instead of unconditionally
removing all icon files, Darwin now performs a series of
checks before removing any icon file (pls. see the bug
for details).
99-06-22 johndelo Updated all localized strings to localizer Version9
InstNNNN.msi, Error.LLL, ActionTe.LLL, msiLLL.res
Fixed parameter numbers for errors 1931,1932 - Bug 9389
99-06-22 bench Fixed bug 9587: we can now write negative DWORD
registry values again (like "#-234"). this was broken by
a regression for bug 9280.
99-06-22 cgouge Bug 9370. New ICE68, checks that custom action types
are valid.
99-06-22 mattwe bug 9569: Patching will no longer overwrite files
to which it has no access. (this means both the file
and directory are secured correctly. See bug for more
details.)
99-06-22 chetanp bug 9570 - fixed incorrect computing of default
verb(s) in case the Argument column was null for the
verbs.
99-06-22 cgouge Bug 9567. MsiAddSource no longer attempts to connect
to the source or validate its existance.
99-06-22 bench Bug 9571: feature request to make the Upgrade.Remove
column formatted, meaning you can have an expression
instead of static text, allowing for the list of
features to remove to be dynamic.
99-06-22 cgouge Bug 9503. Added ICE62, checks for a plethora of
different problems in the IsolatedComponent table.
99-06-21 cgouge Bug 9563. Validation, new ICE67. Checks shortcut
targets to ensure that they either belong to the same
component as the shortcut or are restricted to source
only or local only. This keeps the shortcut from
becoming invalid when the target component transitions
from RFS to local or v.v.
99-06-21 bench Fixed bug 9455: security bug where we were always
elevating when running rollback scripts. now we only
elevate when rolling back an elevated install.
99-06-21 bench Fixed bug 9568: clicking ignore to the error dialog
for error 1328 would not ignore the error - now it
does.
99-06-21 johndelo Bug 9564,9565. Fusion support added to schema.
Darwin version bumped to 1.03 - core support for Fusion
IsolatedComponent table, validation added to schema.msi
IsolateComponents action added to template.msi
Bug 9581 opened for mechanism to distribute sequence tables.
99-06-21 johndelo Bug 9163. All ODBC description fields non-localizable,
as they are all registry keys, sometimes hard-wired.
In addition to previous update driver, translators,
and data source tables were updated with this recommendation.
99-06-21 cgouge Bug 7661. The ADMINTOOLS was failing because we were
always calling ShGetFolderPath with an hToken value,
which is not valid on non-NT5 machines. Thus our
shell folder calls were always falling back on the
registry checks when called from the service. This meant
that a server-side install could hit cases where the
folder did not exist and couldn't be created. We now
pass a 0 value for the token on non-NT5 machines.
99-06-21 Tracyf Bug 9561: don't put up SFP error dialog when
attempting to reinstall equal-versioned protected files.
99-06-21 Tracyf Bug 9560: Put up a dialog if SFP fails, instead of
silently rolling back.
99-06-21 Tracyf Bug 9556: Always log the reason the install requires
a protected file to be copied.
99-06-21 Tracyf Bug 9493: Change SFP error to fatal if required file
is not copied at all.
99-06-17 mattwe Bug 9548: We now secure the files used for
configuration data: scripts, caches for
transform, patches, icons, databases, and
the custom action temporary DLLs used during
an install. We do *NOT* secure RBF files beyond
the security they already possess.
99-06-17 mattwe Bug 9513: We now mark all RBF files as
hidden/system. This prevents the RBF files
from showing up on network share desktops,
for example.
99-06-16 eugend Fixed bug # 9519: the Copyright information in
Darwin source files has been brought up to date.
-----------------------------
Release 1.1.0616
-----------------------------
99-06-15 eugend fixed bugs # 9527 - buffer overflow in CA processing
code and # 9552 - incorrect error string for
ERROR_INSTALL_PLATFORM_UNSUPPORTED error.
99-06-15 cgouge Bug 9547. We no longer set the TerminalServer property
or do TS-specific stuff when on a TS remote admin
machine. The Global mutex prefix is still used
on all NT5 machines and TS4 machines.
We also set a new property on these machines, "RemoteAdminTS"
99-06-15 Tracyf Bug 9485: Due to an external change in sfc.dll to
fix a memory leak problem, an extra parameter was added
to the SfcIsProtectedFile API, requiring a Darwin
change.
99-06-15 Tracyf Bug 9537 - Bug 9537: fixed late-binding for SFP
calls to avoid asserts on non-NT5 platforms.
99-06-15 bench Fixed bug 9529: we now allow a non-localadmin user
to deploy an app via the MMC on Windows 2000 if the
app being deployed happens to be assigned to that user
already. prior we would only allow admins to deploy
in this case.
99-06-15 cgouge Bug 9362. Validation. Updated ICE45 to check
specific control types for specific bits instead of just
checking the whole table for any bit that is valid for
any control type.
99-06-15 cgouge Bug 8382. Validation, new ICE65. Checks that the
Environment.Value column doesn't have invalid formatting
codes of the type [~]<sep>Value<sep> or the reverse.
99-06-15 cgouge Bug 7661. Support for new CSIDL values:
LocalAppData, CommonAppData, MyPicturesFolder, AdminToolsFolder
(with ALLUSERS support) and Win2000 ALLUSERS
TemplateFolder support. See the Darwin1.1 Shell Folder spec
for details.
99-06-09 cgouge Bug 9516. a DLL CA marked to impersonate ran in the
same process as msiexec. This caused the process
token to be LOCALSYSTEM when running from the service.
Thus calling CreateProcess() from the DLL resulted in a
new process running as the system. We now run all
impersonated DLL CAs through the remote CA server when
called from the service, not just for non-elevated
installs. In-script actions marked icaNoImpersonate
still run as before (in-proc).
99-06-08 cgouge Bug 9361. Validation, new ICE64, validates that
created directories in the user profile are added to the
RemoveFile table.
99-06-08 cgouge Bug 9253, New ICE63, validates the
InstallExecuteSequence table with respect to the
RemoveExistingProducts action.
99-06-08 bench Fixed bug 9512: the MsiApplyPatch api now accepts an
empty string for szPackage where it only accepted
NULL before. this change is to allow the api to be
called through automation.
99-06-08 bench Bug 9506: InstallExecute in a merged nested install
will now force execution of the script rather than
waiting for the parent to execute the script.
99-06-08 cgouge Buc 9476. Fixed SourceList API on Win9X. Most
critically, we were checking if the system owned a reg key,
but the function always failed on Win9X. The check
is no longer made. Also modified the way that we
detect if the modification is to the current user on a
Win9X system.
99-06-07 bench Bug 9525: to support remote-admin mode for Terminal
Services, we now always prepend "Global\" to mutex names
on NT5, even if we don't believe TS is installed. As
before, we also do this on NT4 but only when TS is installed.
Remote-admin mode is made to look like TS is not installed
when it really is, and is only supported on NT5.
99-06-07 cgouge Bug 9475. Dropped product versions (msispy, orca,
msival2) now track the MSI version. Note that sample
databases (testdb, etc) currently keep the same
versions.
99-06-07 mattwe Bug 9490: A user edited WinInit.INI without a newline
at the end of the file had the next line appended
incorrectly. This now works.
99-06-07 eugend Fixed bug # 9474. The following methods got added
to the Installer object:
- Installer.Patches(Product) - wrapper for
MsiEnumPatches, but unlike that, it returns only the string
list of patches, it doesn't bother with transforms.
- Installer.PatchTransforms(Product, Patch) - calls
MsiEnumPatches and returns the transform information
for a given patch.
- Installer.PatchInfo(Patch, Attribute) - wrapper for
MsiGetPatchInfo.
- Installer.RelatedProducts(Product) - wrapper for
MsiEnumRelatedProducts.
- Installer.AddSource(Product, User, Source) - wrapper
for MsiSourceListAddSource.
- Installer.ForceSourceListResolution(Product, User) - wrapper
for MsiSourceListForceResolution.
- Installer.ClearSourceList(Product, User) - wrapper
for MsiSourceListClearAll.
I've changed FeatureInfo.Attributes into a read-write
property - it wrapps MsiSetFeatureAttributes.
Doc bug # 9521 tracks this.
99-06-04 cgouge Bug 9497. A merged nested install on Win9X would
fail if the parent was already in the registry (in this
case due to an advt) but the child was not. We would
then reject the child package because we think the
parent is elevated. The check from bug 9400 (which
rejects the nested install) now only happens on non-9X
systems.
99-06-03 johndelo Bugs 9275-9278 MSI support for Fusion 1.0
For details, see implementation doc checked into the
DARWIN project under: DOC\Fusion.doc
99-06-03 johndelo Bug 9496 - we have no Easter egg in Darwin (did we ever?)
99-06-03 cgouge Bug 9491. Added private MsiIsProductElevated() API
for use by NT. This is not a public API, so is not in
the public header file, public automation layer, or
docs.
99-06-02 cgouge Bug 8972, part 2. LFN checks across components using
the same Directory table entry now work in ICE30
99-06-02 cgouge Bug 8972, validation. ICE30 made case-insensitive,
so that colliding files and directories don't have to
match exactly before a warning is generated.
99-06-02 bench Fixed bug 9498: a problem with multiple transforms
where the first transform adds a brand new string to
the database and the second transform replaces that
string with another.
99-06-02 mattwe Fixed bug 9495: /q on the command line had a buffer
reading problem where it skipped a null terminator.
99-06-02 bench Fixed bug 9487: 2 problems: 1 is that we leave
behind a half-baked InProgress key when failing to write
one of its values. 2 is that when we encounter a
half-baked InProgress key we are stuck and do not allow
an install to occur until the key is manually removed.
99-06-02 bench Fixed bug 9451: type 23 nested installs with
embedded cabs will now properly copy files when they are
merged with the parent transaction.
99-06-02 bench Fixed bug 9484: updated MsiZap to clear the new
cached databases and the LocalPackages key introduced by
the recent fix to bug 9395.
-----------------------------
Release 1.1.0602
-----------------------------
99-06-01 cgouge Bug 9478. Drop _InstallValidate table, which was
used by msival but isn't any longer. This is a change to
the makefile only, but the file lived with the other
CUB tables and was thus getting picked up still. It
will no longer appear in CUB files either.
-----------------------------
Release 1.1.0530
-----------------------------
99-05-28 bench Fixed bug 9488 - error deleting a key on NT for non-managed,
non-admin uninstalls. This was a regression of bug 9395.
99-05-28 chetanp bug 9373 - When fetching from a view in a read-only
database, and selecting to insert a temporary row, we
now prefetch the result set to avoid cursor
misplacement
99-05-27 cgouge Bug 7852. The EvalCom DLL used in Orca and MsiVal2
was leaving a temp file behind in the temp directory
after running validation. We now delete the file
before exiting.
-----------------------------
Release 1.1.0526.1
-----------------------------
99-05-26 chetanp bug 9482 - nested installs failure - occured due to
a change in status return code for MsiGetProductInfo
that was caused with the database caching spec
change.
-----------------------------
Release 1.1.0526
-----------------------------
99-05-26 cgouge Bug 9231. Initial checkin of SourceList API. Users
can modify their own installs and per-machine installs
based on Browse policy. Admins can also modify
per-user managed installs for other users. Nobody can ever
modify another users non-managed installs. This
checkin consists of 3 calls, MsiSourceListClearAll,
MsiSourceListAddSource, and MsiSourceListForceResolution.
See the bug resolution and\or the API spec for
prototypes and more info. There should be NO changes in
Darwin behavior due to this bug, it consists solely of
new API implementation. The automation wrapper is not
a part of this checkin.
99-05-25 chetanp fixed bug 9395 - fixed security hole due to sharing
of cached database by having individual copies of the
cached database for every user and the machine (for
per-machine installation).
99-05-25 chetanp bug 9442 - Changed FormatText to resolve paths
correctly even if the action state is null if the
requested action state is not on NT5 and for registry writes
in the event we are writing HKCR info for a "lesser"
component (see bug 8062).
99-05-25 bench Fixed bug 9472: an extension of the fix to bug 9233
- embedded nested installs with embedded cabs now
work when copying more than one file in a cabinet.
99-05-25 chetanp fixed bugs 8041 - regression from bug 9381. Caused
HKCR info to be left in multi-user scenarios.
99-05-25 chetanp fixed bugs 9461 - regression from bug 9381. Caused
advertisement on non-shell aware systems.
99-05-25 cgouge Fixed Bug 9400. If a child install had a different
elevation state than the parent, we elevate stuff that
shouldn't be elevated. The child install will now
fail. If the child install is set to ignore failures,
we now correctly keep the parents elevation state
anyway.
99-05-25 mattwe Bug 7283: very long lines (> 255 bytes) to the log
are now broken up into pieces. Looks normal, except
for extra linefeeds.
99-05-25 Tracyf Fixed bug 9365: ReserveCost values are now
subtracted from the total disk cost at uninstall.
99-05-25 Tracyf Fixed bug 9047: fixed FDI problem in which the
install cannot exit upon error in certain cases (such as
filename same as a sibling folder name).
99-05-25 Tracyf Bug 9424: Added a new api: MsiSetFeatureAttributes,
which can be used to change the default attributes
for a feature at runtime (the defaults are authored in
the Attributes column of the Feature table).
99-05-25 Tracyf Bug 8971: Added support for Win2000 System File
Protection (SFP). In short, for any file Darwin decides
it needs to install, it will now check with SFP to
determine if the file is protected by Windows. If so, and
the file is missing, Darwin will call SFP at install time to
actually install the file. For details, see the PM spec at
ttp://officeweb/specs/TCO/Darwin%201_1%20System%20File%20Protection.html
and the dev spec at
ttp://dartools/dardev/specs/System%20File%20Protection.doc
99-05-24 bench Fixed bug 9453: ODBC errors that are ignorable with
UI are now ignored automatically in quiet mode.
99-05-24 eugend Fixed bug #9413: from now on event log strings will
be written in the package's language.
99-05-24 bench Fixed bug 8811: the cost associated with caching
.msp (patch package) files is now calculated and used
when determining out-of-disk-space and reporting space
requirements.
99-05-24 mattwe bug 8973: When we create shortcuts, we now delay notifying
the shell of their existence until the end of the install
script. This gives the icons and other files a chance to
be copied. This sometimes results in shortcuts initially
being displayed with default icons, but they will display
correctly at the end.
99-05-24 mattwe bug 9456: Due to database version 0.28 now longer being
supported (5/17/99), the localized transforms for instmsi
and copymsi needed to be updated.
-----------------------------
Release 1.1.0524
-----------------------------
99-05-24 chetanp bug 9461 - fix lack of removal of all class and
advertisement information upon uninstall. Regression from
bug 9381
-----------------------------
Release 1.1.0523
-----------------------------
99-05-21 cgouge Bug 9447. Hydra story, part 3. When modifying an INI
file in the windows folder during a hydra
per-machine install, we call the TermsrvLogInstallIniFileEx()
API to notify hydra that the file has been touched.
Hydra will then propogate the file to each user at
logon time.
99-05-21 chetanp bug 9155 - fixed install error on locked down system
when attempting to update the EstimatedSize property
under the Uninstall key.
99-05-21 chetanp bug 9037 - shell notification for shortcut
creation/deletion. Part of the bug was external and got fixed
with NT 2040.
99-05-20 mattwe Bugs 9436: msiexec /q PROP=VALUE accidentally dropped the
property. (/qb PROP=VALUE worked.) This is fixed.
99-05-20 mattwe Bugs 7593, 9256: On NT5, we now attempt to use the
USERPROFILE and APPDATA environment variables for registry
icon paths. When we do, the registry key gets a EXPAND_SZ
type. Note that APPDATA is only available in NT5 starting
with build 2042.
99-05-19 cgouge Bug 7767. Part 2 of the Hydra story. This part syncs
up all of our GetWindowsDirectory calls so they have
the same value on the client and server side. All
calls to GetWindowsDirectory (which might result in a
lie on TS5 from a non-system context when called via
an API) have been replaced by a call to
MsiGetWindowsDirectory(). This function automatically calls
GetWindowsDirectory or GetSystemWindowsDirectory as
appropriate. Any future uses of GetWindowsDirectory() should
use MsiGetWindowsDirectory() instead. (except in
msiexec.exe)
99-05-19 eugend Fixed bug #8984: MsiSetComponentState API now
returns ERROR_INSTALL_USEREXIT if Cancel button had been
hit. Doc bug # 9446 tracks this change.
-----------------------------
Release 1.1.0519
-----------------------------
99-05-18 johndelo Bug 9432: product registration property InstallDate
now uses locale-independent date format: "YYYMMDD".
99-05-18 bench Bug 9426: multiple cabinets on the first disk are
now supported even if the volume label in the Media
table doesn't match the actual volume label.
99-05-18 bench Bug 9423: restored support for type 23 (relative
path to msi) nested installs.
99-05-17 chetanp bug 8062 - if we are writing to the per user HKCR
(HKCU\S\C) AND the key under which we are creating the
value does not exist BUT the corr. key in the per
machine HKCR (HKLM\S\C) exists, AND we are witing this
value as part of a lesser component, then we skip
creating the key-value altogether since this will then
shadow the per machine HKCR.
99-05-17 chetanp bug 8809 fixed. we now honour the MIME_ column of
the Extension table in writing the "Content Type" value
under the extension key. !!!NOTE: we no longer allow
for database versions < 30!!!
99-05-17 eugend I've added a twist to the fix to 6623: if the error
exists in the table, but is defined as an empty
string, I don't look anymore for it in the DLL. This is
useful for packages that do not want to display
certain errors.
99-05-17 cgouge Bug 8521. Part 1 of the Hydra story for 1.1. This
checkin includes support for the registry propogation
system in TS5. When beginning a transaction, we call a
special Hydra API to make a snapshot of .Default. We
then do all of our per-user registry writes to
.Default instead of HKCU. At the end of the install, we
call another API and Hydra diffs the snapshot with the
current state, propogating any changes to their
registry system and from there to all users. This fix also
elevates custom actions on per-machine Hydra 5
installs so that registry writes go to .Default and will
be propogated by this system.
Note: msiexec.exe is now marked as a hydra aware
app in the PE header.
99-05-17 cgouge Bug 8843. Quick validation fix for bug in ICE17. Now
correctly skips properties that aren't the full
string when controls reference the binary table
99-05-17 chetanp bug 9409 - added new msidbLocatorTypeRawValue =
0x00000002 value to enum msidbLocatorType
99-05-17 chetanp bug 9334 - We have removed the source resoution
calls that happen in registry, ini file and shortcut
costing. We now remember if source resolution failed
during selfunreg and skip it for the rest of the files
that were installed on source (logging a debug error).
99-05-17 mattwe Bug 9081: The network icon has been updated to the
latest version in current Windows.
-----------------------------
Release 1.1.0513
-----------------------------
99-05-13 mattwe Bug 8872: instmsi.msi now thoroughly uppercased for
Windows Installer.
99-05-13 mattwe Bug 9417: instmsi.msi is now thoroughly frozen on
schema 30, with action text and error messages from
current builds. These must remain backwards compatible.
99-05-13 cgouge Bug 8882. On NT5 with client side caching enabled,
we no longer cache the results of a component path
request for an RFS component. The source is still
considered valid though. If a share is CSC enabled and
offline, the source is rejected and we fallback on the
complete resolution process.
99-05-12 bench Fixed bug 9411: If running from a media (CD or
floppy) with a blank volume label while the Media table
specifies a non-blank label, maintenance mode installs
would not accept the media, even though first-time
installs did. This now works in maintenance mode as
well.
-----------------------------
Release 1.1.0512
-----------------------------
99-05-23 mattwe Bug 9416: Updated instmsi/copymsi media sequence table
99-05-11 bench Bug 9374: introduced a new custom action type best
described as a "delayed launch condition". The new
type, 19, will display an error message and return
failure to end the installation.
99-05-11 bench Bug 9320: fixed problem with mismatching volume
labels and Media table-specified labels after a patch is
applied.
99-05-11 cgouge Bug 9260, Validation, ICE61, a new vbscript ICE,
checks the upgrade table for various problems, such as
removing newer versions, not having public properties,
etc. Available only in the full CUB file.
99-05-11 chetanp fixed bug 9349 - we now dynamically resize the
buffer that holds the command line that is generated from
the MsiAdvertiseScript API. This allows for greater
total transform path length than before (which was at
@850).
99-05-10 mattwe Per hgrant's request, custexe1.exe in
testdb now has a file version in the table.
1.0.0.0
99-05-10 mattwe 9410: msimsg is now going to be released
in the commondir (and built in individual
flavors.) It also has a file version now
for copymsi/instmsi.
99-05-10 mattwe 9406: msimsg.dll is now included with
instmsi/copymsi.
99-05-10 mattwe 9141: When the installer initiates a reboot,
the fact will be recorded in the event log.
99-05-10 mattwe 9402: Async custom actions were giving false
memory leaks, (and missing real leaks) because
we were checking for open handles on the parent
thread rather than the CA.
99-05-10 eugend I've fixed bug # 6623: if Darwin cannot find an
Error ar an ActionText entry in a package's table, it
looks it up now in MSIMSG.DLL. I've opened bug # 9406
just to make sure MSIMSG.DLL gets into
InstMsi/CopyMsi.exe.
99-05-10 bench Bug 9405: fixed MsiRecord memory leak in error cases
in ComPlus script operations.
99-05-10 bench Bug 9262: added ActionData messages for the
RegisterComPlus and UnregisterComPlus actions, and the
associated ActionText table entries.
99-05-07 davidmck Fixed bug 9404. Turns out the format of the Shell
Change Notify Extended Event will not actually work on
NT5 due to problems marshalling the product code
string across. Raymond Chen has worked out a correct way
of doing it and I've checked in the darwin change for
it.
99-05-06 cgouge Bug 9380. Darwin was elevating in the case where a
product was installed both per-user and deployed
per-machine. The per-user registration was skipped when
determining the managed state, but was used for all
other actions. Thus the install would end up elevated
even though the per-user install should shadow the
per-machine install. We now correctly find the per-user
install and report that the app is not managed.
99-05-06 cgouge Bug 9166. When told to recache the package and given
a product code, we ignore the last used source and
immediately begin source resolution. If the search
order has "m"edia first, we demote it to second and
promote the source type that was second to first in the
search order. The resolved source becomes the source
for the install and the last used source. The modified
search order is then discarded. If given a full path
to a package and told to recache, we use the
provided source.
99-05-06 mattwe 9367: Modified various error strings based on
recommendations from UA.
99-05-06 chetanp fixed bug 9155 - we now allow installs that do not
write anything under the HKCR regsitry hive to
succeed on systems where the user is locked out from
updating HKCR.
99-05-06 bench Bug 8698: we now return a new error code,
ERROR_PATCH_TARGET_NOT_FOUND, when a patch cannot be applied
either because the product is not installed or a
different version of the product is installed.
99-05-05 mattwe bug 7967 - We now disable cancel effectively for the
full UI. Hitting escape or the 'x' on the dialog won't
do anything when the cancel button is hidden.
99-05-05 chetanp bug 9381 - we never remove registration for
"filename only" registrations. the "filename only"
registrations allow sharing of com registration such that each
app has its own private copy of the server. "fusion"
specs recommend that the registration itself be
refcounted so that we know when to remove it. this has
been punted for 1.1
99-05-05 bench Bug 9306: nested installs and uninstalls performed
by RemoveExistingProducts will now display an error
for problems initializing the nested install or
uninstall.
-----------------------------
Release 1.1.0505
-----------------------------
99-05-04 davidmck Checked in more 64-bit issues. We can now install on
Alpha64.
99-05-04 davidmck Fixed bug 9337 - we now generate an exception fault
when we are out of memory and there is no user
interaction.
99-05-03 mattwe Bug 8993: BackupFile now restores file attributes
correctly when it restores a file that wasn't removed
initially.
99-05-03 bench Bug 9084: fixed but in path expansion code that
sometimes added a second backslash after the drive
letter. This caused failures with relative paths for the
database or transforms, among other things.
99-05-03 cgouge Fixed bugs 7589, 7684, 8153, 9353. Five changes to
the SourceList UI. This involved changes to 2 existing
string resources, dropping 1 existing string, adding
1 new string, and changing error.idt for one error.
Loc work required. For gory detials, see the doc
attached to 7589.
-----------------------------
Release 1.1.0429
-----------------------------
99-04-29 eugend Bug # 7753 again: I've changed the value of the
Password attribute to 0x0200000, 2097152 in decimal. I've
updated doc bug # 9355 as well.
99-04-29 tracyf Bug 9280 - Darwin now writes an "EstimatedSize"
value under the Uninstall key. This value represents the
estimated size, in KB, that the associated product
is currently consuming on the user's machine (if the
product is spread across more than one volume, the
EstimatedSize is the summation across all volumes).
This value is updated each time the user add/removes
features during maintenance mode.
99-04-29 davidmck Fixed bug 9360 - the sorting routine for the volume
cost list called PutInteger rather than PutHandle.
99-04-28 bench Bug 9356: fix assert during admin install of a
package with an embedded cabinet. The bug was caused by a
regression of bug 9233.
-----------------------------
Release 1.1.0428
-----------------------------
99-04-27 eugend Fixed bug # 7753: I've added the Password edit
control stylebit, its value is 131072. If specified in
the Attributes field of the Control table, it creates
an edit control that displays all characters as an
asterisk (*) as they are typed into the control. Doc
bug # 9355 tracks this.
99-04-27 malcolmh Fixed bug 9006: Fix problem resizing our internal
buffer when you have backslashes in your registry
keypath value
99-04-26 chetanp "bug 8041 - remove class registry left overs in
multiuser scenarios.
99-04-26 chetanp bug 9344 - fix RemoveFile action for folders set to
be deleted upon uninstallation of components (from
the RemoveFile table).
99-04-26 bench bug 8499: error string displayed during a binary
patch application failure is now an authorable ship
error.
99-04-26 davidmck Checked in further changes for 64-bit builds.
Updated the object pool for both the database and the
handler. See 64bit.txt for more details.
99-04-23 mattwe Bug 9138: The FDI server (cabinet/compressed) will now
restart correctly when it receives an Open request in
the middle of reading a file.
99-04-23 bench Bug 9122: Validation of Upgrade table and Upgrade
actions is in.
99-04-23 bench Bug 9233: addition fix to this bug to handle
packages with the old stream naming convention.
99-04-23 bench Bugs 9208, 9214: the following nested install types
are no longer supported: relative msi path (23),
property name/key (55) and asynchronous (+128). an error
message will be displayed when one of these types is
attempted.
99-04-23 bench Bug 8709: fixed thread handle leak that occured when
asynchronous custom actions finished before the end
of the installation.
99-04-22 mattwe Bug 9248 - refix - We must elevate to acquire token
privileges. Before, we grabbed them pell-mell, and
we just happened to be impersonated in the right
scenarios. Now we do it the right way.
99-04-22 cgouge Bug 9122. To support the upgrade actions
(specifically, RemoveExistingProducts) ICE27 now has a
PostExecution phase, which ocurrs after InstallFinalize.
Currently, RemoveExistingProducts is the only action valid
there.
99-04-22 cgouge Bug 9324. Added InstallExecuteAgain information to
ICE validation. (ICE27). Restrictions are the same as
InstallExecute.
-----------------------------
Release 1.1.0421
-----------------------------
99-04-20 malcolmh Fixed bug 8478: New behavior for secure transforms.
99-04-20 bench Fixed bug 9233: nested substorage installs will now
work with embedded cabinets.
99-04-19 mattwe The following files have been updated for use with
instmsi:
shfolder.dll
imagehlp.dll
msls31.dll
usp10.dll
riched20.dll
99-04-19 chetanp fixed bug 9168 - we now handle permanent components
that were installed to different locations via
different products. We now use separate GUIDS from
{00000000-0000-0000-0000-000000000000} to
{000000FF-0000-0000-0000-000000000000} to represent the system as a
client product for possibly 256 different locations for
a permanent component to be installed (via different
product). Afterwards we simply keep using the
{00000000-0000-0000-0000-000000000000} GUID.
99-04-16 bench Added new Upgrade functionality. In short, the new functionality
allows easy upgrades between products with different product
codes. For more information, see the spec on
http://officeweb/specs/tco/darwinupgrades1_1.html and the design doc
on \\bench4\public\upgrade design 1.1.doc.
Documentation in msi.chm is pending.
99-04-16 bench Added new action: InstallExecuteAgain. The action is identical
to InstallExecute but since it has a different name it can be
used with InstallExecute in the same sequence table.
99-04-16 bench Changed schema.msi schema version to 102 for several changes
made to the schema. The changes are:
addition of Upgrade table
addition of Class.Attributes column
addition of Services.Description column
Also bumped minor version of Darwin files. The version is
now 1.02.BBBB.U.
99-04-16 bench Added new Class.Attributes column to schema.msi as part of
the schema 102 additions.
See relnotes entry "99-03-23 johndelo Bug 9094" for more
information.
99-04-16 mattwe Fixed bug: 9197. We now impersonate while setting
icon paths into shortcuts. This gives the shell on
Windows 2000 the opportunity to recognize these as
roaming paths.
Fixed bugs 9288,9289: Several columns in the
ServiceControl and ServiceInstall tables are now
formatted.
Fixed bug: 8993. We now clear and re-set the
hidden, read-only and system attributes on the
autoexec.bat file on Win9X while writing environment
variables.
Fixed bug: 8381. At the end of script execution on NT,
we broadcast a WM_SETTINGCHANGE message to let the
system know we've change environment variables.
This allows you to change variables for new processes
without requiring a reboot.
-----------------------------
Release 1.1.0415
-----------------------------
99-04-14 malcolmh Fixed bug 8908: We now have a Description column in
the ServiceInstall table which allows an author to
specify a description for a service. This column is
presumed to exist only in databases with schema versions
greater than 101.
99-04-14 cgouge Bug 8122 (part 2). Validation, added ICE60, which
does the check for the file table that internal
validation used to do. Displays a warning if an entry in the
file table has a version but no language, and is not
a font or companion file reference.
99-04-14 cgouge Bug 8122. The requirement that all files with
versions have languages has been removed from the internal
field validation. Validation of the "Version" data
type now only checks that the version is valid. The
language requirement will be in a new ICE, ICE60.
99-04-14 tracyf Bug 9299 - removed the FixedSize attribute from
bitmaps in sample MSI's.
99-04-14 tracyf Bug 9297 - disabled the ValidateProductID
ControlEvent in sample MSI's.
-----------------------------
Release 1.1.0414
-----------------------------
99-04-13 johndelo Schema fixes - bugs 9120 and 9163
Note that these fixes were propagated back to
schema 100, so as to be incorporated into the SDK.
All active databases and idt files have been
updated (as far I can find). The following changes:
LaunchCondition.Description is now non-nullable
ODBCDriver.Description is not localizable
_SummaryInformation.Application is "Windows Installer"
_Validation updated to reflect LaunchCondition change.
99-04-12 malcolmh Fixed bug 9114: We now automatically suppress
autorun during installs.
99-04-09 malcolmh Fixed bug 8444: AD: In no UI case Darwin does not
log failure of installs due to LaunchCondition table
99-04-09 malcolmh Fixed bug 9116: We now write OutOfDiskSpace messages
to the event log.
99-04-09 malcolmh Fixed bug 9217: Security: Should remove "everyone"
read access from config.msi security descriptor
99-04-09 malcolmh Fixed bug 9036: CCPSearch, AppSearch stop searching
once it encounters a drive it cannot access
99-04-09 malcolmh Fixed bug 8744: MsiGetUserInfo returns 1 when
Organization name is not set.
99-04-09 malcolmh Fixed bug 9037. Changed the way we do shell
notification for shortcuts
99-04-09 malcolmh Fixed bug 9236: AD: Darwin does not recover
completely from an install that causes an AV
99-04-09 cgouge Bug 8161. When merging a table via
MsiDatabaseMerge(), if two columns string columns have different
length limits, we take the larger of the two limits (or 0
for unlimited length if either column has that
limit).
99-04-09 cgouge Bug 9252. uisample.msi (and thus all of our tools
installers) was now allowing the Admin target location
to be changed via the edit box in the dialog, only
via the browse dialog. Added a control event to set the
directory.
99-04-09 cgouge Fixed bug 9088. The Path data type was unnecessarily
strict when it came to properties and filenames. I
removed the requirement that properties be surrounded
only be '\' characters and the restriction that all
components of the path satisfy the short filename
syntax. It is now the LFN syntax, except when specifying
a single level deep subdir. In that case you can use
the SFN|LFN syntax.
99-04-09 mattwe Bug 9248: We now acquire our token privileges once per
process, instead of every time we'd need the particular
privilege. (Each place still makes a call, but we see
that've already requested.) Should be a *big* advertising
performance gain. (On the order of 30% time savings in some
scenarios.)
99-04-08 cgouge Bug 9147, Validation. Added ICE58, which checks that
you don't have more than 80 rows in the Media table.
The ICE is found only in the full darice.cub file.
99-04-08 chetanp fixed bug 9251so that we now simply log the SelUnreg
failure w/o putting up an error dlg.
99-04-08 chetanp bug 9246 - We now have
SCRIPTFLAGS_REGDATA_CLASSINFO and SCRIPTFLAGS_REGDATA_EXTENSIONINFO for whether
to populate the class / extension information. The
MIME and verb information is tied to the extension
information while the Clasid key under the ProgId is tied
to the class information. We defined
SCRIPTFLAGS_REGDATA_APPINFO to SCRIPTFLAGS_REGDATA_CLASSINFO |
SCRIPTFLAGS_REGDATA_EXTENSIONINFO for backward level source
compatibility. Internally we translate
SCRIPTFLAGS_REGDATA_APPINFO_OLD to SCRIPTFLAGS_REGDATA_APPINFO to
maintain backward level binary compatibility.
99-04-08 davidmck Fixed bugs 8733 and 8818 - removed
INSTALLPROPERTY_VOLUMEPREFERENCE since it is not used from msi.h.
Removed INSTALLPROPERTY_ADVTFLAGS since it it not public.
99-04-08 tracyf Fixed bug 9225 - for files extracted from cabinets,
we were incorrectly setting the date/time, such that
it was 7 or 8 hours off (dependiing on daylight
savings) from the source file's date/time. We now
properly set the date/time as universal (not local) time.
In addition, to be consistent with how we set the
date/time for uncompressed files, the "created" and
"modified" times are set to that of the source file,
while the "last accessed" time is set to the current time
(i.e. the time of the install).
99-04-07 eugend Fixed bug # 9206: CMsiDialog::WindowShow() does not
fail anymore if the next window in the tab-order that
can take the focus is a child window of a Darwin
control.
99-04-07 eugend Fixed bug # 9232: ship errors do not start anymore
in "Error nnnn: " string, but this piece of info is
still written into the log file.
99-04-07 eugend Fixed bug # 9249: DirectoryCombo controls on
AdminBrowse dialogs do not get updated now whenever the user
selects a different directory in the DirectoryList
control.
-----------------------------
Release 1.1.0407
-----------------------------
99-04-06 cgouge Bug 9235, Validation. ICE20 will not fail when
looking for the name of the dialogs to validate in the UI
sequence tables if the tables do not exist, but
LIMITUI is not set either.
99-04-06 cgouge Bug 9077. Validation. ICE26 will no longer complain
about required actions in the UI sequence tables if
LIMITUI is set in the package.
99-04-06 mattwe Bug 9189: We now only set in the user's environment
variables when we're running from the service. The
client normally doesn't need this, and when we're running
the client in somebody else's process, it's a bad thing.
99-04-05 eugend UI Sample uses now Tahoma font instead of MS Shell
Dlg and buttons on Cancel dialog are 4 dlus appart.
00-01-05 chetanp bug 8062:we now write the HKCR information
associated with a component on NT5 even if a higher versioned
keyfile already existed, to ensure that HKCR entries
are not missing because the better keyfile was
installed by another user (or per machine and this
installation is per user and vice versa). These writes are
different from the regular writes in that we write the
registry entries only if they are absent in an
attempt to prevent overwriting possible writes from the
better component.
99-04-02 eugend All the fixes suggested so far are in the
UITESTDB.MSI. We're still waiting for the new icons.
99-04-02 tracyf Bug 7954: if any error occurs while attempting to
copy a file, we now silently ignore (and log) the error
if ALL the following conditions are true:
1) There's an existing file on the machine.
2) Our source file is unversioned.
3) Our source file is not authored as a Companion
file.
4) The "Force All" reinstall mode (the 'a' flag in
the REINSTALLMODE property) is NOT set.
In addition, on uninstall, errors attempting to
delete files will now be ignored and logged as well (in
the delete case, regardless of whether the file is
versioned/unversioned, companion or not, etc).
Note that when logging ignored errors, we do not
attempt to re-format the error string - we send it to
the log as is. Thus, the message in the log will not
explicitly mention that the error was ignored, but
the fact that the install proceeds implies that. Not
ideal, but per triage the extra work of adding a
number of new error strings to explicitly call this out
was punted.
Also note that when logging ignored errors in a
verbose log, you may see the error string appear more
than once. The first is because of our automatic
verbose logging of any posted error record. The second is
explicitly sent to the log when we decide to ignore
the posted error - this is done so that ignored
errors get logged in the non-verbose case as well.
99-04-01 mattwe Bug 9209 - For remote volumes, we no longer
create config.msi directories. This is to plug
security holes where we can't adequately secure
the backup directory.
99-04-01 eugend I've added new bitmaps to UISample.
-----------------------------
Release 1.1.0331
-----------------------------
99-03-30 cgouge Bug 9207. Validation. string buffer problems
generating an error message in ICE03 if the primary keys
were really long (collectively greater than 255). Fixed
so that the length is not limited.
99-03-30 malcolmh Fixed bug 8962: Darwin does not handle well the
installing of a package per user and per machine together
on a machine.
99-03-30 eugend Fixed bug # 9156: Darwin doesn't cause anymore
crashes in SHELL32.DLL on NT5.
99-03-29 cgouge Bug 9144. ICE56 has been updated to exempt from its
check (for bogus admin installs) any directory which
has no files and which has no descendants that have
files. This is a relaxation of our restriction that
every MSI has a single root dir so that Beagle can pass
validation with their default shortcut component.
99-03-29 cgouge Bug 9122 (ICE45 part). Validation: ICE45 updated to
handle in the new upgrade table schema and check for
reserved bits in the appropriate column.
99-03-29 malcolmh Fixed bug 9140: Loop condition in FeatureCache.
99-03-29 davidmck Fixed bug 9145 - Mark our unicode log files as
unicode.
99-03-29 malcolmh Fixed bug 8847: Sourcelist not being updated by
/fvomus or /i REINSTALLMODE=vomus
99-03-29 malcolmh Fixed bug 8478. We now cache secure transforms on
the local machine. Source transforms have been rolled
into secure transforms. Any reference we see to a
source transform will automatically be treated like a
reference to a secure transform.
99-02-29 mattwe bug 8812 - The Product Icon is now written with
%USERPROFILE% when possible for roaming.
99-03-29 chetanp bug 7883 - shortcuts were not being created for
advertised features of published apps.
99-03-26 tracyf Fixed bug 8938. Darwin was duplicating multiSZ data
in the registry when writing more than one multiSZ
value under a single registry key.
99-03-26 tracyf Fixed bugs 9112 and 9138. 9112 involves the lack of
automatic retry in some cases during a quiet
install, if the net connection is lost. 9138 is similar,
but specifically involves loss of the net connection
when the source is a cabinet.
99-03-26 bench bug 9195: added a Language value to the per-machine
configuration info. this may be used by future
versions of Darwin to determine the language of an install
that belongs to a different user. the exact key and
value are:
Key:
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\[ProductCode GUID]
Name: Language Data: language id (1033 for example) Type: REG_DWORD
99-03-26 mattwe Fixed bug # 9031: There is a new property
REBOOTPROMPT, which when set to Suppress will
prevent any user interaction before a reboot.
It won't prompt any new reboots, it just prevents
asking the user about it.
99-03-25 eugend Fixed bug # 9177: I've eliminated the Reinstall
button from MaintenanceTypeDlg.
99-03-25 eugend Fixed bug # 7925: if CreateFontIndirect fails in
CMsiControl::ChangeFontStyle, we report now the value of
GetLastError().
99-03-25 eugend Fixed bug # 8707: I've eliminated leaking thread
created in FDI_Interface::LaunchFDIServer().
99-03-24 malcolmh Fixed bug 9179: Too many cabinets can cause database
cache failure
99-03-24 malcolmh Fixed bug 9006. We now handle registry value
keypaths where the value name contains a backslash.
99-03-24 cgouge Bug 8739, 9151. The ability to select and browse to
media is also gated by the user rights and elevation
state of the package. If the user is not an admin,
s/he can only use media on non-elevated installs. The
policies that control this behavior are the new
DisableMedia and AllowLockdownMedia policies. Note that
DisableMedia is very similar, but not exactly the same
as, leaving "m" out of the search order. Media being
disabled for security/policy reasons will cause the
lastused source to be rejected if it is a media entry,
whereas removing "m" from the search order will
accept the media entry as long as it is the
LastUsedSource.
This leads to the case where you could end up with a
sourcelist dropdown that is compeltely empty. and
browsing is also disabled, the sourcelist dialog is now
utterly useless. In this case, if browsing is also
disabled, we don't even bother to show the dialog,
99-03-24 cgouge Bug 8738, 9151. The ability to patch is now gated by
the same admin/elevation logic as Browsing described
below. The policies for this are DisablePatch and
the new AllowLockdownPatch policy.
99-03-24 cgouge Bug 8737, 9151. The default security level for
browsing in the sourcelist dialog is now more secure. If a
user is not an admin, s/he cannot browse if the
install is elevated. Users can browse for non-elevated
installs, and admins can browse whenever they want. The
DisableBrowse policy will always disable browsing,
and the new AllowLockdownBrowse policy will allow
anybody to browse.
The ability to recache the msi from unblessed sources
is gated by the same log and policies.
99-03-24 cgouge Bug 8320, logging is now correct when renaming files
on reboot.
99-03-24 chetanp fixed bug 8417 - For RFS installed components having
missing auxiliary registry key paths (on NT5),
MsiQueryFeatureState used to return
INSTALLSTATE_SOURCEABSENT instead of INSTALLSTATE_BROKEN even if the source
was infact present. NOTE: We now return
INSTALLSTATE_BROKEN if the auxiliary registry key path of a RFS
installed component is missing (inplace of
INSTALLSTATE_SOURCEABSENT) when the source is infact present.
On the other hand if the source is missing, we still
return INSTALLSTATE_SOURCEABSENT irrespective of
whether the auxiliary registry key path is present. What
this achieves is preventing the trigger of a repair
when the user has cancelled the source resolution
dialog.
-----------------------------
Release 1.1.0324
-----------------------------
99-03-24 eugend Fixed bug # 9164: text on ResumeDlg is corrected and
sequence numbers in AdminUISequence and
InstallUISequence tables match the respective values in
TEMPLATE.MSI.
99-03-24 eugend Fixed bug # 9108: if Japanese KANA IME is used,
MaskedEdit control switches properly to English keyboard
when any of its edit fields receives focus.
99-03-24 eugend I've fixed bug # 8468: GetLastError() will return
the correct value if LocalLoadLibraryEx() fails on
Alpha machines.
99-03-23 bench bug 9154: MsiCreateTransformSummaryInfo will no
longer fail if either db is missing the PageCount suminfo
property. Instead the current Darwin version is
used as the minimum version to process the transform.
This is a change to the fix made for bug 8781.
99-03-23 bench uisample.msi is now built with just the necessary
tables. It no longer contains empty tables like File
and Registry.
99-03-23 johndelo Bug 8290 Automation FileVersion now uses internal routines.
Optional 2nd argument is a boolean, default is False:
False to return version number string for a file
True to return language ID as a string for a file
99-03-23 johndelo Bug 8332 Disabled ODBC drivers/translators don't register
99-03-23 johndelo Bug 8420 Updates not allowed after execution of queryies
having no result set, e.g. CREATE TABLE...
Note that all views must be executed before any update
operations can be performed (there were a few cases
where the execute could be omitted - no more).
99-03-23 johndelo Bug 8453 Cabinet file extraction is now case-insensitive
99-03-23 johndelo Bug 8689 Packages with neutral codepage resolved late
to prevent BiDi handling of English text.
When database codepage is neutral, the codepage used
for font selection is determined by the install language.
99-03-23 johndelo Bug 8795 MsiRecordGetFieldCount returns -1 if bad handle
99-03-23 johndelo Bug 8982 Fix to prevent failure of simple installs
with non-registered components (NULL ComponentId)
99-03-23 johndelo Bug 9062 Prevent AV when GetDateFormat fails
(was due to use of language unsupported by NLS)
99-03-23 johndelo Bug 9094 Allow bare file name for COM servers.
Attributes column added to Class table.
(but not put into schema until it is bumped to 102).
If column is present and msidbClassAttributesRelativePath
is set (low order bit), then the file name only is
registered instead of the complete path, allowing
the server in the current directory to take precedence,
and allowing multiple copies of the same component.
99-03-23 davidmck Checked in code and tools for 64-bit Intel builds.
Still have work to do and this should not affect the
Win32 builds.
99-03-23 cgouge Bug 8353, msival2 installer space requirements
updated, CUB file now part of the install.
99-03-22 mattwe Fixed bug 8469. You can now apply patches from URLs.
This involves several changes to opening storages,
devs should see msiutil.cpp for OpenMsiStorage, and
OpenAndValidateStorage for all your read-only storage
opening requests.
99-03-22 mattwe Fixed bug 9146. We no longer unload URLMON between
installs from the service. This has a performance
hit, but prevents hangs caused by bugs in URLMON.
99-03-22 bench Added the ComPlus table, bring the schema version to 101.
99-03-19 malcolmh Fixed bug 9046. The potential reboot race condition
has been eliminated. We should now reboot whenever we
trigger a reboot.
99-03-19 chetanp bug 9131 - fixed code defect handling DBCS reg. key
paths when "\" is the trailing byte of a 2 byte char
which is the last char in the registry value. Was
causing key path detection to always fail.
-----------------------------
Release 1.1.0319.1
-----------------------------
99-03-19 bench bug 9153: fixed regression from bug 9013 that caused
patch application to fail.
-----------------------------
Release 1.1.0319
-----------------------------
99-03-18 malcolmh Fixed bug 9001: AD: per-user registry leak in darwin
in services.exe
99-03-18 cgouge Bug 9143, validation: ICE18 no longer checks
directories that are root directories.
99-03-18 bench bug 6933: ixoUpgradeCodePublish/Unpublish are now
written to advertise scripts in the MsiAdvertiseProduct
api.
99-03-17 bench bug 9064: fix for nested installs that require a
reboot. when a nested install replaces a file-in-use,
or triggers a reboot in some other way, the reboot
request is held by the parent install and used to prompt
at the end of all installs. previously if a nested
install required a reboot the install would
immediately fail ungracefully.
99-03-17 cgouge Bug 7265. Validation. Limit on max components per
feature reduced to 800 due to registry limitations.
99-03-17 cgouge Bug 8118. Validation. ICE56 was not reporting an
error for long root directories that were not TARGETDIR.
99-03-17 malcolmh Fixed bug 9123. We have a new api:
MsiEnumRelatedProducts. It can be used to enumerate all products with
a particular upgrade code.
99-03-17 chetanp fixed bug 8862 - There are scenarios where darwin
did not re-register the component during a reinstall of
the component.
1. When darwin does an implicit reinstall of the
component.
2. A (broken) component has been set up for an
explicit reinstall and a custom action of type 35, changes
the target path for the component.
Fixed so that we re-register the component in cases
1. and 2. above.
NOTE: case 2 is being used by office today but
might not work in the future if we decide to never allow
changing directories of installed components (no
matter if they are broken as in this case).
99-03-17 eugend fixed bug # 9055: Darwin's basic UI won't come up
anymore maximized/minimized.
99-03-16 chetanp fixed bug 8425 - bogus shortcuts created if feature
is advertised on a system with the updated shell AND
the DISABLEADVTSHORTCUTS property is set.
99-03-16 bench bug 9110: fixed uninitialized variable that
prevented the ServicePackLevel property from being set in
certain builds (but not 1.0.5104)
99-03-15 bench bug 9097: picked up new mspatcha.lib and
mspatchc.lib files, which are compatible with the VC5.0
link.exe. The previous versions were not. This change
effects the SDK only - not the bits used by Office 2000 or
Win2000.
99-03-10 tracyf Bug 9013 - added the ability to copy files
decompressed from cabinets to multiple locations. A doc bug
to explain this is imminent, but the basic idea is to
include multiple entries in your File table, each
with the same FileKey, except differing only by case.
These files should have the same sequence numbers (or
at worst, there should be no unrelated File table
entries with intervening sequence numbers). Each of
these files can be linked to different components, or
can be tied to the same component, in which case the
destination name given in the FileName column must be
different.
99-03-10 malcolmh Fixed bug 9038. Cannot install Office from CD when
AllocateCDRom policy is set. We now impersonate when
attempting to access the CD or removable drives. This
allows us to operate in lock-down environements where
_only_ the user has access to the drive (not even
LocalSystem has access).
99-03-09 tracyf Bug 7493 - fixed so that file copy errors now return
iesFailure instead of iesUserExit.
99-03-09 chetanp bug 8568 - fixed code so that we publish advt
information (shortcuts, class, publishcomponents) tied to a
child feature in advertised state during a reinstall
where a transitive component becomes enabled
99-03-08 bench Bugs 7793, 7853 and 8316: added two new return codes
for cases where a reboot is required. The return codes
are returned from the APIs, msiexec.exe and instmsi.exe.
ERROR_SUCCESS_REBOOT_REQUIRED: returned when a reboot is
required to complete the install but the reboot was
rejected by the user or suppressed with REBOOT=Suppress
or ReallySuppress.
ERROR_SUCCESS_REBOOT_INITIATED: returned when a reboot
has been triggered by Darwin. note that this is a new
error code added for this bug. it is defined in msi.h and
will be added to the NT5 winerror.h.
99-03-08 eugend fixed bug # 8785: "can't install product when
uninstall is interupted in the middle".
99-03-08 malcolmh Fixed bugs 8390, 8389, 8392.
- Hydra installs from user sessions now work (fixed
the mutex problem)
- Installs from user sessions are prevented unless
the user is an admin and the EnableAdminTSRemote
policy is set. Admin installs and the creation of
advertise scripts are exempt from this restriction
(if you're an admin)
Test automation note: we have a new return value from
engine.initialize: ieiTSRemoteInstallDisallowed
99-03-05 malcolmh Fixed bug 7799: When SCRIPTFLAGS_CACHEINFO is set,
MsiAdvertiseScript doesn't strip off the filename from
the transform path. This means that profile
transforms can now be used through app deployment.
99-03-05 mattwe Bug 8323: During reinstall (patching counts,)
where shortcuts or machine data is being set,
icons will be re-cached. The REINSTALLMODE
property doesn't need to be set.
99-03-05 eugend fixed bug # 5296: I've changed the format of the
notification sent to the NT5 shell at the end of the
installation. Doesn't affect other OSes.
99-03-05 mattwe Bug 9045: Fixed potential global atom leak when
client window can't be found for verbose logging.
99-03-04 chetanp bug 8991: fixed crash in font registration code
during a repair.
99-03-03 malcolmh Fixed bug 8842: RemoveFile infinite loop when
removing readonly folder
Fixed bug 9027: Path::GetSelfRelativeSD fails to read
large descriptors
Fixed bug 9028: SECURITY: rollback of RemoveFolder on
a folder with big security descriptor wipes all
security
99-03-03 mattwe Bug 8989: You can now write 0x80000000 to the registry
as a DWORD. Involves several small changes as we've
added a flag to GetIntegerValue that returns more
information about the value returned.
99-03-03 mattwe Bug 8812: We've changed the PRODUCTICON property to
ARPPRODUCTICON. The GetProductInfo name hasn't changed.
99-03-03 johndelo Bug 8435: Vietnamese text corrupted on Unicode build.
Removed use of WC_COMPOSITECHECK in Unicode->ANSI conversion.
99-03-02 cgouge Bug 8917: Validation. Due to an earlier bug fix
(7846), several ICEs were generating info messages if
critical tables were missing. These messages would be
filtered away by tools and never be seen again. They
should actually be errors. The offending ICEs were
ICE18, ICE21, and ICE22. They now explicitly create error
messages in these cases.
99-03-02 cgouge Bug 8899: Validation, ICE43 modified to exempt from
this ICE shortcuts that are created in non-profile
directories, as these shortcuts would fail one of ICE57
or this ICE no matter what they did. (and this one
was wrong).
99-03-02 cgouge Buc 8843: Validation, ICE17 updated to allow entries
in the control table to use properties to reference
items in the Binary table. (Bitmaps, Icons, etc)
99-03-02 cgouge Bug 8826: Validation, ICE33 updated to check for
TypeLib entries in the registry table.
99-03-02 cgouge Bug 8702. Validation: Added ICE57, which checks that
components don't contain both per-machine and
per-user data. It also does a few checks on -1 root
reg-keys to ensure that you don't get any goofy install or
detection problems. TestDB was modified to pass this
ICE by splitting several components that contained
both types of data.
99-03-02 chetanp fixed bug 9000. This was a leak of registry keys
that we failed to close during app deployment, when
MsiAdvertiseScript was called with the
SCRIPTFLAGS_VALIDATE_TRANSFORMS_LIST flag. One can see this leak with
previous leaks when MsiAdvertiseScript is called with
the SCRIPTFLAGS_VALIDATE_TRANSFORMS_LIST when the
product is already advertised/ installed on the machine.
No transforms are needed, just setting the flag
causes this.
99-03-02 malcolmh Fixed bug 8797: msipath.findfile fails when
accessing inaccessible directory. AppSearch will now continue
even if a directory that it's searching is
inaccessible.
99-03-02 chetanp fixed bug 8462. We should not count products who
installed components as disabled as true clients during
uninstallation. We should remove the entities tied
to a component when the last product that did not
install the component disabled is uninstalling. This bug
leads to files/ registry entities being orphaned if
the product that installed that component disabled is
uninstalled last.
99-03-02 chetanp fixed bug 7412. Fixed code that invokes an implicit
reinstall of a feature to pass in the
REINSTALLMODE_USERDATA as well. This code is used when a feature is
detected to be broken, when
MsiProvideComponentFromDescriptor and MsiProvideQualifiedComponent or the
MsiProvideComponent API is called with the dwInstallMode
arg = INSTALLMODE_DEFAULT. This is what is used by
the shell and OLE when calling MsiProvideCFD. This can
cause scenarios where clicking on the shortcut causes
darwin to keep reinstalling over and over again
(there is a component in the feature or in the ancestry
that has a HKCU registry key path that is broken).
99-03-01 eugend Fixed bug # 9008: in CONTROLS.CPP we better handle
missing or incorrect values of PROMPTROLLBACKCOST
property.
99-03-01 cgouge Bug 9002: _Validation table update. Control.Text
column is now type "Formatted"
99-03-01 davidmck Fixed bug 8066 again, this time checking in the
bld1402.16 version of shfolder.dll.
99-02-26 eugend As a result of fixing bug # 8922, AppId table's
RemoteServerName got changed into Formatted (from Text).
I've opened DOC bug # 9011 to track this.
99-02-26 mattwe Fixed bug 8812: New property PRODUCTICON is used to
support a per-package primary icon. It is registered
during advertisement/publishing/installation, and
the final path is available through
MsiGetProductInfo(..., INSTALLPROPERTY_PRODUCTICON)
This is available on all platforms, but will primarily
be used by the new ARP panel on Windows 2000
99-02-25 cgouge Bug 8322. DisableRollback policy is now per-machine
as well as per-user. If either location has the
policy set, Rollback will be disabled.
99-02-25 mattwe Fixed bug 5535: The Environment operations now have
consistent error messages in all cases, and will
absolutely not kick off rollback without warning.
99-02-25 bench fixed bug 8781: MsiCreateTransformSummaryInfo checks
the Page Count (minimum installer version)
properties of the two dbs and uses the larger of the two for
the transform Page Count property. Previously it
always set the minimum version for the transform to the
current installer version, but this made transforms
incompatible with older installer versions when they
weren't necessarilly so.
99-02-25 davidmck Fixed bug 8066 - took version 5.0.2014.204 of
shfolder.dll to be in sync with IE5.
99-02-25 davidmck Fixed bug 8983 - updated to usp10.dll version
1.175.0.1 to be in sync with Office.
99-02-23 mattwe Bug 8343: checking the ownership of registry keys and
and security descriptors has been streamlined, and now
isn't affected by DACLs in the SD.
99-02-23 mattwe Bug 7730: GetTempDirectory on NT now calls GetTempPath
instead of the work-around for 9x done for #4036.
The end result is that when tmp and temp are undefined,
NT now goes to the windows folder instead of the
windows volume\temp. (c:\temp)
99-02-23 cgouge Bug 8463. IsAdmin check extended to use NT5 specific
CheckTokenMembership API that handles special NT5
only cases.
99-02-23 eugend UISample.msi and UITestDb.msi got checked in.
UISample.msi is a template database featuring a UI that
wants to be in line with current wizard design
requirements. UITestDb.msi is the old TestDb.msi driven by
this new UI. I've just checked in the changes I've
made to the makefile; the IDTs and IBDs were already
checked into the <Darwin root>\data\UISample directory.
99-02-23 malcolmh Fixed bug 8793: Darwin: Unable to deploy app that
has already been assigned and installed by admin.
99-02-23 mattwe Bug 8500: InstMsi now closes its service and
service manager handles correctly.
99-02-23 cgouge Bug 8832. Typos in schema _Validation table.
99-02-22 cgouge Bug 7722: Mergemod.dll: Support added for Darwin
predefined property directories in a merge module.
Previously it was very common to get merge conflicts when
using one of these directories. Now you can GUID-ize
these directories (as you do other module
directories) and the merge tool will dynamically generate
actions that set this GUIDized property to the appropriate
non-guidized property.
99-02-22 cgouge Bug 8130: Mergemod.dll. Added logging when base
action is completely missing from Module*Sequence tables.
99-02-22 cgouge Bug 8229, Mergemod.dll. Logging when action in
Module*Sequence tables does not get processed because it
doesn't have an ancestor which was a standard action
with an assigned sequence number.
99-02-22 cgouge Bug 8321. Mergemod.dll, logging for CAB extraction.
99-02-22 cgouge Bug 8391. Mergemod.dll. Log message had spaces
between characters.
99-02-22 malcolmh Fixed bug 8875: RFS shortcut fails to provide
Network Resource Dialog when Explorer.exe FEATURECACHE
returns SOURCE_ABSENT.
Fixed the regression from bug 7854: we no longer do
feature caching from
MsiProvideComponentFromDescriptor.
We also no longer feature-cache the
INSTALL_SOURCEABSENT state.
99-02-22 malcolmh Fixed bug 8933. Fixed our failure to run EXE custom
actions on Win9X.
99-02-22 bench bug 8906: file replacement operations in wininit.ini
are now accomplished by a single rename line. Prior
to this change such operations were done with a
delete followed by a rename. This fix was made to allow
for a workaround to a Win98 bug. The bug would
sometimes cause the wininit.ini file to be processed
multiple times, and the delete lines would remove the new
files the second time through.
99-02-22 bench bug 8949: removed unsupported property
INSTALLPROPERTY_UPGRADECODE from msi.h.
-----------------------------
Release 1.1.0212
-----------------------------
99-02-12 malcolmh Fixed bug 8845. We now prevent EXE custom actions
from elevating when the install is not managed.
99-02-12 malcolmh Fixed bug 8841 -- Added these properties to our
secure list:
> FILEADDSOURCE,
> FILEADDDEFAULT,
> AFTERREBOOT,
> EXECUTEACTION,
99-02-12 cgouge Bug 8837. Summary info of packages updated to 100,
schema version removed from title.
-----------------------------
Release 1.1.0210
-----------------------------
99-02-10 davidmck Fixed bug 8821 - Changed copyright in instmsi to
1999.
99-02-10 murate Implemented COM+ Registration support.
-----------------------------
Release 1.1.0000
-----------------------------