mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3244 lines
165 KiB
3244 lines
165 KiB
|
|
Darwin Setup Development Notes through 12/31/96
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2431
|
|
-----------------------------
|
|
|
|
96-12-30 bench ExecuteFinalize now commits (or rolls back or deletes)
|
|
the database, rather than Engine.Terminate doing so. By
|
|
commiting the database in this action, we can ensure that if any
|
|
actions after ExecuteFinalize (starting the app, starting
|
|
help, etc.) fail for whatever reason, the database will
|
|
still be commited (and remain in sync with the config
|
|
database). This would not occur if Terminate did the
|
|
database commitment.
|
|
|
|
As such, Engine.Terminate no longer takes the boolean
|
|
indicating whether to commit the database or not. Any
|
|
clients that relied on Terminate to commit the database
|
|
should now commit the database before calling Terminate.
|
|
Note, Engine.Sequence properly handles the commitment of the
|
|
database during an install, so any clients using the engine
|
|
to do an install (by calling DoAction("Install") for
|
|
instance) do not need to explicetely commit the database.
|
|
|
|
96-12-27 davidmck Checked in code to allow us to track reference
|
|
counting bugs down a bit more easily. This code is in the
|
|
debug version, but only is turned on for those
|
|
objects that are explicitly turned on.
|
|
Turn on reference tracking for an object by setting
|
|
the TRACK_OBJECTS environment variable to a list of
|
|
comma separated iids you want to keep information on.
|
|
This code is currently only in the services DLL.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2415
|
|
-----------------------------
|
|
|
|
96-12-14 malcolmh Security for our server when running as a service is
|
|
now set automatically by the service. There is no
|
|
need to use dcomcnfg anymore.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2414
|
|
-----------------------------
|
|
|
|
96-12-14 mattwe MsiUtil: Turned off building debug launchers by
|
|
default. From VB, call
|
|
util.LinkerDebugOn to set them on.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2413
|
|
-----------------------------
|
|
|
|
96-12-12 bench The ixoReg* operations have been updated to allow
|
|
modification of the HKEY_CURRENT_USER hive when running
|
|
as a service. Entries have been added to the
|
|
Registry and RemoveRegistry tables in the testdb to modify
|
|
this hive. Note: this does not yet work on Win95.
|
|
|
|
|
|
|
|
96-12-12 alanr MSIGEN: MakeTables SourceDirectory and SourceFile
|
|
table generation now use true Sysdiff directory names
|
|
instead of Darwin property names. Short filenames
|
|
have also been added for Default names of directories
|
|
specified by predefined properties.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2412
|
|
-----------------------------
|
|
|
|
96-12-11 malcolmh The server can now be run as an local server or a
|
|
Win32 Service.
|
|
|
|
Use /regserver to register as a local server
|
|
Use /regservice to register as a service if possible.
|
|
Currently this registers as a service on NT and
|
|
local server on Win95.
|
|
Use /unregister to unregister the server (local
|
|
server and service)
|
|
|
|
When the service is registered and unregistered it
|
|
is installed and uninstalled from the system.
|
|
The server can only be registered either as a local
|
|
server or as a service. All previous registration is
|
|
removed each time the server is registered.
|
|
|
|
You can use the Services Control Panel to view the
|
|
status of the service, or to stop it.
|
|
|
|
96-12-11 bench MsiPatch: BuildAcmePatch populates a Component table
|
|
rather than a Selection table. The Selection table
|
|
in patship.msi has been replaced with a Component
|
|
table. Note: patch application will not work correctly
|
|
until that is updated also. Stay tuned.
|
|
|
|
96-12-11 johndelo Added new SummaryInformation property:
|
|
PID_MSISOURCE, Source Type, which specifies the source file image
|
|
type, short or long filenames, and tree(Directory
|
|
table) or cabinet&file(Media table). See SummaryInfo
|
|
help topic.
|
|
Engine mode flags iefNoSourceLFN and iefCabinet are
|
|
set from this summary property. SumInfo.Exe has been
|
|
updated as well (testdb is currently set to 1, short
|
|
names in tree). File copy will need to be updated to
|
|
use these flags.
|
|
|
|
96-12-11 bench MsiPatch: input to BuildAcmePatch changed to include
|
|
unique product keys for each app. See help for more
|
|
info.
|
|
|
|
96-12-11 mattwe MSIGEN: Update sysdiff INF parsing to use
|
|
feature/components
|
|
Known Issues: Registry table gets the Uninstall keys
|
|
points at Acme.
|
|
Will replace this with a call to msiexec /m
|
|
|
|
96-12-11 alanr MSIGEN: MakeTables updated to handle ityDif, NT Sysdiff ($OEM$),
|
|
directory, generating the following tables: File, Directory, Component,
|
|
Feature, FeatureComponents, SelfReg, SourceFile, and SourceDirectory.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2411
|
|
-----------------------------
|
|
|
|
96-12-10 bench Moved script opening out of Engine::Initialize.
|
|
Scripts should only be created if an operation other
|
|
than ixoActionStart, ixoHeader or ixoEnd is executed
|
|
when running as a client or when running stand-alone and
|
|
the SCRIPTFILE property is set. Help is on the way.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2410
|
|
-----------------------------
|
|
|
|
96-12-09 bench Fixed some errors in the database from the
|
|
Selection->Component/Feature changeover,
|
|
added an ActionData message to ixoShortcutCreate, and
|
|
changed the InstallFiles and RemoveFiles actions to only do
|
|
ixoProgressTotal if the progress total is > 0, all in hopes
|
|
of fixing the progess and logging of the various
|
|
actions. If any actions don't dispatch progress or log
|
|
entries that should, write strange log entries, etc.,
|
|
bugs should be posted. Note: an Action shouldn't be logged
|
|
or be in the script if it doesn't do anything (i.e. doesn't
|
|
use operations or dispatch progress).
|
|
|
|
96-12-09 thussey The launcher now copies over the server along with
|
|
the darwin dlls, but does not register it.
|
|
|
|
96-12-09 tracyf Updated the helpfile to match the new
|
|
Feature/Component table architecture.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2409
|
|
-----------------------------
|
|
|
|
96-12-07 ivanw Changed the handler to match the changes in the
|
|
SelectionManager
|
|
|
|
96-12-06 mattwe dbview: Forced ivcFetch intent on Selects, took out error when it
|
|
wasn't set. See ChetanP.
|
|
|
|
96-12-06 mattwe MSIGEN: Integrated Sysdiff INF parsing into MakeTables.
|
|
Updated the properties used from the obsolete ones.
|
|
Marked most of the locations that we need to do feature\component
|
|
work in the code with //!! FEATURE/COMPONENT comments.
|
|
|
|
96-12-05 tracyf I've checked in all the changes that split the
|
|
Selection table in the Feature, Component, and
|
|
FeatureComponents tables. However, there's still work to be
|
|
done in the Handler before the TestDB can be executed
|
|
properly. I'll be fixing the help files as soon as
|
|
possible.
|
|
|
|
96-12-03 malcolmh - Changed Conman::Add/RemoveProduct to
|
|
Register/UnregisterProduct.
|
|
- Added Conman::Register User. RegisterProduct now
|
|
registers only product-specific info. The user info is
|
|
registered via RegisterUser, perhaps at an app's
|
|
first run.
|
|
|
|
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2329
|
|
-----------------------------
|
|
|
|
96-11-27 johndelo The ConfigurationManager property has been exposed
|
|
to automation from MsiEngine.
|
|
The SelectLanguage method has been moved to MsiEngine
|
|
from MsiHandler.
|
|
|
|
96-11-26 johndelo MsiEngine.Initialize no longer takes services and
|
|
handler pointers. The objects are obtained as needed by
|
|
CreateInstance or from the config manager.
|
|
MsiEngine.Initialize takes an enum, iuiEnum type in
|
|
engine.h, that specifies the UI level desired, from
|
|
iuiFull to iuiNone.
|
|
The value iuiBasic uses the IMsiMessage
|
|
implementation in the engine default UI handler instead of loading
|
|
A new property, "UI", is now recognized by the launcher,
|
|
which sets the iuiEnum value as follows:
|
|
UI=Full iuiFull (default, if not present)
|
|
UI=Reduced iuiReduced (no modeless dialogs)
|
|
UI=Basic iuiBasic (used engine message handler)
|
|
UI=None iuiNone (no UI displayed)
|
|
Only the first letter is examined, case insensitive.
|
|
The engine object now always has a valid services and
|
|
configuration manager, so no tests against 0 should
|
|
be made.
|
|
|
|
96-11-26 bench Renamed almost all folder properties from *Dir to
|
|
*Folder. Old properties are still being set. Added
|
|
some new folder properties. See help for more info.
|
|
|
|
96-11-26 ivanw Changed the way progress messages handled in the
|
|
handler. The Handler stores the name of the Action from
|
|
the ActionStart message. Therefore it does not have
|
|
to be included in the third field of the Progress
|
|
messages anymore. Also if an action consists of equal
|
|
size steps, it can use the ActionData messages to drive
|
|
the progress indicators. In this case it sends one
|
|
Progress message with the number of the total steps and
|
|
NULL as the current progress. This signals that the
|
|
Handler has to count the ActionData messages and
|
|
treat them as Progress messages.
|
|
|
|
96-11-26 ivanw Implemented the ActionDone message in the
|
|
Handler::Message method
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2326
|
|
-----------------------------
|
|
|
|
96-11-25 johndelo Log is now fixed. Temporarily, if no handler is
|
|
specified (handler="") the default, simple UI will be
|
|
used instead.
|
|
In the next build, the UI level will specifyable on
|
|
the command line and passed to MsiEngine::Initialize.
|
|
It will no longer be possible to specify DLL names on
|
|
the command line (components must be registered).
|
|
Necessitated by operation as a server/service.
|
|
|
|
|
|
96-11-22 malcolmh Added Register/Unregister folder to conman. Fixed
|
|
bug 686.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2322
|
|
-----------------------------
|
|
|
|
96-11-21 johndelo MsiRecord as a new "Data" property typed as variant,
|
|
that will transfer any MsiRecord type--see help.
|
|
This greatly simplifies record object management by VB
|
|
scripts.
|
|
|
|
96-11-21 johndelo The enumerations for input and return from the Message
|
|
functions have changed, necessitated by the remote execution model.
|
|
At the same time, missing message types were added.
|
|
Message type: OLD: icmt NEW: imt
|
|
Message status: OLD: icms NEW: ims
|
|
|
|
Note that the message type is store in the high byte;
|
|
the other bits are used to specify the buttons and icon desired. See engine.h
|
|
Most callers currently specify imtError, which shows only an Ok button.
|
|
Most of these uses within the actions need something else.
|
|
You now must OR in the message box button set (if not simply Ok)
|
|
and the default button (if not the first).
|
|
When using a switch on the return value of Message,
|
|
specify cases only for the non-default buttons.
|
|
The default: case will catch the default button as well as imsNone
|
|
(if running silently), assuming the default for quiet is the same.
|
|
There is no longer a need to Assert in all the Message returns,
|
|
as bad returns can be caught further upstream now.
|
|
The use of a {buttons} list in error messages is no longer supported.
|
|
The message attributes are defined identically to Win32.
|
|
The defines in msiauto typelib Constants have been updated.
|
|
|
|
96-11-21 johndelo ODBC databases, including .MDB files, now require a
|
|
valid _SummaryInformation table. Properties are read
|
|
from this table in the same way as the summary info
|
|
is read from MSI _SummaryInformation stream. ODBC
|
|
databases will always be opened read-only by
|
|
Engine::Initialize, and they can be used to generate a
|
|
maintenance mode database.
|
|
|
|
96-11-21 ivanw Handler::Break is implemented.
|
|
|
|
96-11-21 chetanp provided execute functions for the progman item
|
|
creation/ deletion actions
|
|
|
|
96-11-21 chetanp provided execute functions for the configuration
|
|
manager interface
|
|
|
|
96-11-20 malcolmh The configuration manager no longer gives an error
|
|
when trying to run an installation after aborting an
|
|
installation (i.e. killing the installer process) .
|
|
|
|
96-11-20 malcolmh The C++ version of GetProductInfo now takes an
|
|
rpiRecord for the product information, allowing it to
|
|
return errors if necessary.
|
|
|
|
96-11-20 ivanw Changed the Handler so it uses the message box
|
|
enums. Also changed the error messages in the Handler that
|
|
used non default buttons.
|
|
|
|
96-11-20 ivanw Added screenreader accessibility to the popup menues
|
|
in the SelectionTree. We detect when a screenreader
|
|
is running and modify the UI so it uses only controls
|
|
that the screenreader can read. This requires no
|
|
extra effort on the autrhors side! With this addition,
|
|
Darwin Window UI is completely blind accessible.
|
|
|
|
96-11-20 johndelo MsiEngine::Initialize now determines database type
|
|
by content, rather than by file extension (bug 545).
|
|
The logic is: 1. If it is a storage file or resource
|
|
marked as MSI by SummaryInformation, then it is MSI.
|
|
2. If it has the Access DB signature, then it is MDB.
|
|
3. If it is UNC without a 3-char extension then it
|
|
will be attempted to open as SQL Server DB. 4. Else it
|
|
will be opened as an ODBC data source.
|
|
|
|
|
|
96-11-19 malcolmh mkerrtbl now generates an RTF file for inclusion in
|
|
the help file
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2319
|
|
-----------------------------
|
|
|
|
96-11-18 bench UpdateResource action defers execution
|
|
|
|
96-11-17 ivanw Implemented defered execution in Register/Unregister
|
|
Fonts
|
|
|
|
96-11-16 davidmck Added a DebugLog capability to the IMsiDebug object
|
|
and implemented it in the Services DLL. Writes a
|
|
debug log when the normal log is not available.
|
|
|
|
96-11-16 davidmck Added Memory object tracking the CMsiCursor,
|
|
CMsiTable, CMsiRegKey. Also added routines to give a list of
|
|
leaked objects by type and number.
|
|
Modified AllocObject to handle the fact that RTTI
|
|
information does not transfer across DLLs.
|
|
|
|
|
|
96-11-16 mattwe MsiGen: Added ImportINF that reads a SysDiff
|
|
INF (AddReg, DelReg and UpdateInis sections)
|
|
Known Issues: The registry value column from an INF
|
|
is generally too long to import into Access.
|
|
The Directory_ column of the IniFile is currently
|
|
the path from the INF, not looked up/added to the
|
|
Directory table. This needs integration with AlanR's
|
|
forthcoming work.
|
|
|
|
96-11-15 ivanw Implemented defered execution in Create/Delete
|
|
Shortcuts
|
|
|
|
96-11-15 bench Removed the Selection_ column from the Resource
|
|
table in the testdb. This column prevented the
|
|
UpdateResources action from working on the testdb.
|
|
|
|
96-11-15 chetanp The CMsiView object now supports INSERT DELETE and
|
|
UPDATE
|
|
SQL stmts. Please see help on MsiView object for the
|
|
sytax
|
|
|
|
96-11-15 davidfer MsiUtilities: Updated column names for compatibility
|
|
with latest Darwin database format (KeyFile ->
|
|
Cabinet & DiskLabel -> VolumeLabel)
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2315
|
|
-----------------------------
|
|
|
|
96-11-14 mattwe MsiLocalize: Added volumecost and scrollabletext support
|
|
Known issues: billboards no longer generate errors, but
|
|
also don't generate to the RC file. Still to determine
|
|
if this fixes the overall issue since billboards are
|
|
custom controls in Darwin, and don't map to windows
|
|
controls easily.
|
|
|
|
96-11-14 johndelo TestDB test database will only be released as an
|
|
.MSI file. There are too many problems associated with
|
|
various flavors of ODBC.
|
|
We are phasing out MDB files as we cannot support
|
|
full functionality without an excessive amount of work.
|
|
These can still be built
|
|
using MsiTable.EXE or the makefile with explicit
|
|
targets, testdbmdb and tdbmacmdb.
|
|
|
|
96-11-14 bench Re-wrote SelfRegModules, SelfUnregModules,
|
|
WriteIniValues and RemoveIniValues actions to defer execution.
|
|
The description string for WriteIniValues changed
|
|
slightly and the testdb has been updated to reflect
|
|
this.
|
|
|
|
96-11-14 tracyf Thanks to the new deferred execution model for
|
|
actions, a new attribute is needed for files in the File
|
|
table - if a file in a cabinet is split across disks,
|
|
the 'Split' attribute bit must be set. See the File
|
|
table topic in the helpfile for more info.
|
|
|
|
96-11-14 malcolmh The storage object now correctly handles
|
|
DeleteOnRelease on Windows 95. Previously if a database was
|
|
persisted with idpPersist on Win95 the database was not
|
|
actually deleted. This fix fixes a number of bugs
|
|
(604, 622, 606, 648, to name a few).
|
|
|
|
|
|
|
|
96-11-13 tracyf Re-wrote the InstallFiles and RemoveFiles actions to support
|
|
deferred execution.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2312
|
|
-----------------------------
|
|
|
|
96-11-11 malcolmh Modules can once again be compiled as EXEs. Multiple
|
|
CLSIDs in each module are now handled.
|
|
|
|
96-11-11 thussey MAC: Some minor changes to the files copied to the
|
|
release point. RegMsi is now copied instead of the
|
|
defunct RegAuto. The test database (tdbmac.msi) is now
|
|
copied. The proper creator signatures are now used.
|
|
Also, we no longer try to copy the non-existent loader.
|
|
|
|
96-11-10 bench Re-wrote the WriteRegistryValues and RemoveRegistryValues
|
|
actions to use the ixo* operations. Also, the
|
|
messages logged and displayed by these actions are now
|
|
of the type "Key [1], Name [2], Value [3]" rather than
|
|
"Root [1], Key [2], Name [3], Value [4]" and
|
|
Key includes the root name (such as
|
|
HKEY_LOCAL_MACHINE\Software\Microsoft).
|
|
The InstallSequence table in the testdb has been
|
|
changed to reflect this.
|
|
|
|
96-11-08 thussey Darwin was inconsistent about how it named methods
|
|
which returned enumerations. The OLE automation
|
|
standard specifies that property names that return
|
|
a collection are named the plural of the object in
|
|
the collection. Also, the C++ names have been
|
|
changed to be consistent. We should all adopt this
|
|
standard in the future.
|
|
|
|
Old Name OLE name C++ name
|
|
|
|
msiPath
|
|
GetSubFoldersEnum SubFolders GetSubFolderEnumerator
|
|
|
|
msiRegKey
|
|
GetValuesEnum Values GetValueEnumerator
|
|
GetSubKeyEnum SubKeys GetSubKeyEnumerator
|
|
|
|
msiStorage
|
|
EnumerateStreams Streams GetStreamEnumerator
|
|
EnumerateStorages Storages GetStorageEnumerator
|
|
|
|
msiConfigurationManager
|
|
EnumerateApplications << gone from project >>
|
|
EnumerateComponents Components GetComponentEnumerator
|
|
EnumerateComponentClients ComponentClients GetComponentClientEnumerator
|
|
|
|
|
|
96-11-08 bench Added MsiRegKey::Key method, which returns the full
|
|
path of the key, including the root name. See help
|
|
for more info.
|
|
|
|
96-11-08 chetanp Further explanation of my comments below -
|
|
The IMsiView object (SQL query handler) now flags
|
|
any attempt
|
|
to modify a persistent column (via
|
|
insert/update/delete) in a table,
|
|
as an error, IF the database is NOT in the idsWrite
|
|
mode.
|
|
|
|
96-11-08 chetanp put correct check on database writability in
|
|
CMsiView object.
|
|
Need to remove the "State" column from the "File"
|
|
table.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2308
|
|
-----------------------------
|
|
|
|
96-11-08 malcolmh Fixed a bug requiring that an automation user create
|
|
a services object prior to using the configuration
|
|
manager.
|
|
|
|
96-11-08 ivanw If the user enters a new volume in the PathTailEdit
|
|
control, the volume is added to the list in the
|
|
DirectoryCombo control.
|
|
|
|
96-11-08 ivanw Changed the strings shown on the SelectionSize
|
|
controlaction. The string and the size is different if the
|
|
selected item is expanded or colapsed in the tree.
|
|
|
|
|
|
96-11-08 ivanw Directory combo shows the UNC path for remote
|
|
volumes.
|
|
|
|
96-11-07 chetanp A note to the testers that SelfReg action has now
|
|
changed to SelfRegModules
|
|
and SelfUnreg to SelfUnregModules. Please see more in
|
|
the help.
|
|
|
|
96-11-07 bench Changed the MsiMalloc function LcbOfBlock to
|
|
GetSizeOfBlock. The code and doc differed, and
|
|
GetSizeOfBlock sounds better, so all instances of LcbOfBlock were
|
|
changed to GetSizeOfBlock. Any tests previously
|
|
calling LcbOfBlock must be updated.
|
|
|
|
96-11-07 ivanw Removed the ErrorString DialogAttribute. (it was
|
|
used for error dialogs only)
|
|
|
|
96-11-06 chetanp added shared files support in shared.cpp. Needs the
|
|
Component, and the
|
|
KeyFile tables and the PrepareSharedFiles and the
|
|
ProcessSharedFiles
|
|
actions. More on these in the help.
|
|
|
|
96-11-06 chetanp changed the ivcEnum flag values for
|
|
IMsiDatabase::OpenView function.
|
|
The values are now suitable for future UPDATE, INSERT
|
|
and DELETE
|
|
SQL support.
|
|
|
|
96-11-06 chetanp shifted Shortcut creation/ deletion to Services.
|
|
need to still implement the automation wrappers.
|
|
|
|
96-11-06 thussey Deleted regauto.cpp, regauto.r, regauto.rc from the
|
|
project since they are no longer used.
|
|
|
|
96-11-06 ivanw Replaced all the icons used by the selection tree
|
|
control. These smaller icons will make possible to show
|
|
more items in the same window.
|
|
|
|
96-11-06 ivanw Added keyboard navigation to the SelectionTree (on
|
|
Windows). To open the menu for a selection item one
|
|
can hit F4, or Alt-Up or Alt-Down. To close it keeping
|
|
the changes hit Return, to close it canceling the
|
|
changes hit Escape. With these changes I hope all the
|
|
controls are completely accessible from the keyboard.
|
|
Also all controls should be visible for the screen
|
|
readers. Let me know if I missed something.
|
|
|
|
96-11-06 malcolmh Fixed bug 398 -- crash when the engine is
|
|
initialized with a temp. db. and then the db is persisted
|
|
|
|
96-11-05 malcolmh Error strings returned via automation are now
|
|
formatted regardless of whether an MsiServices object has
|
|
been created. See bug 569 for more info.
|
|
|
|
96-11-05 mattwe AcmeConvert: Forced all Directory table primary keys to lowercase to
|
|
avoid bogus duplicates
|
|
|
|
96-11-05 mattwe acmedb.cpp, AcmeParse, AcmeConvert: Added gfForceLower
|
|
for column definitions to force the column to lower case.
|
|
Used this on the section and item selections in the INF table,
|
|
to facilitate tracking sections/items between installs of
|
|
differing versions of the same app, if they change the
|
|
capitalization
|
|
|
|
Also fixed a bug from the intern's code that creates
|
|
a non-valid primary key on the last line of parsing the
|
|
INF.
|
|
|
|
96-11-05 mattwe AcmeConvert: Removed SummaryInput, fixes build hose
|
|
(see: JohnDelo 96-11-04, removing summary input)
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2305
|
|
-----------------------------
|
|
|
|
96-11-04 thussey MAC: The 10/21 build of the componetized Mac OLE is
|
|
checked into darwin. Also, a new OLE Automation DLL
|
|
has been checked in to allow typelib calls. IMPORTANT:
|
|
Everyone running MacDarwin needs to run
|
|
"\darwin\tools\macole\putmole debug" again to get the new ole
|
|
build. Also, to get the automation dll to the correct
|
|
place, you need to first add and environment variable
|
|
on your NT machine. The name is "MacSystemFolder" and
|
|
the value should be something like ":Macintosh
|
|
HD:System Folder". Details are in Step II Section 3 and
|
|
Step III Section 8 of the tedious but complete
|
|
macsetup.txt.
|
|
|
|
|
|
96-11-04 thussey MAC: Added Apple's standard SystemSevenOrLater
|
|
define to the makefile-- this allows us to use the system
|
|
7 definitions in darwin resource scripts. It also
|
|
will prevent code from the old APIs from compiling,
|
|
which is a good thing since the old APIs won't work on
|
|
the PowerMac.
|
|
|
|
|
|
96-11-04 thussey MAC: RegMsiD now works on the mac. It registers all
|
|
4 darwin components. It takes no cmd line args, it
|
|
just registers. Or hold down the option key when
|
|
launching RegMsiD to unregister.
|
|
|
|
|
|
96-11-04 thussey MAC: The typelib file is now built into a resource
|
|
in the automation dll just like on windows.
|
|
|
|
|
|
96-11-04 thussey MAC: The automation DLL now registers/unregisters
|
|
its type library.
|
|
|
|
|
|
96-11-04 johndelo MsiSummaryInput and MsiSummaryOutput have finally
|
|
been removed. Replace any test with MsiSummaryInfo,
|
|
which combines the two. See help or previous relnotes.
|
|
|
|
96-11-04 ivanw Changed the VolumeCost control, so it is is fully
|
|
accessible for screen readers.
|
|
|
|
96-11-02 ivanw Added DirectoryListOpen control event. This makes
|
|
possible to put an open button on a browse dialog. With
|
|
this the browse dialog is completely keyboard
|
|
accesible.
|
|
|
|
96-11-01 mattwe AcmeConvert added three columns to the stf object
|
|
table, to facilitate debugging. DarwinDirectory,
|
|
ParentObjID, and DarwinSelection. They contain
|
|
the most recent references during tree-walking
|
|
|
|
All selections, hidden and visible are generated
|
|
along with appropriate display values based on
|
|
Acme logic. Their "checked" state is picked up
|
|
from batch information. The Directory table is
|
|
also populated with every directory reachable
|
|
along the root.
|
|
|
|
The Root object, and custom dialog choice are still
|
|
hard coded. We'll update the automation and the
|
|
docs when we get this updated.
|
|
|
|
Known issues: leaks memory like a sieve.
|
|
|
|
the properties for roots in the
|
|
directory table need to be verified
|
|
|
|
No app-search parsing yet, so the
|
|
root selection is hard-coded
|
|
|
|
96-11-01 ivanw The VolumeCostList now shows the total size of the
|
|
volume.
|
|
|
|
96-11-01 ivanw Added tooltips to Windows controls. Tooltips are
|
|
used with buttons that display a picture instead of a
|
|
text. The tooltip text is used by screenreaders for
|
|
static pictures, although this text does never show up
|
|
on a regular user's screen. To support tooltips and
|
|
context sensitive help for radio buttons, I had to add
|
|
a help field to the RadioButton table. The code will
|
|
run with the old tables, that miss this column, but
|
|
will generate a warning in the log. This is just a
|
|
reminder, that all existing radiobutton tables should be
|
|
updated.
|
|
|
|
The syntax for the help string in the Control table
|
|
and the RadioButton table:
|
|
[ToolTip text]|[ContextSensitive help text]. The
|
|
separating "|" is required even if only one of the two
|
|
kinds of help strings is present.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2301
|
|
-----------------------------
|
|
|
|
96-10-31 tracyf The "TotalSpaceK" function has been added to
|
|
MsiVolume, as a complement to the existing "FreeSpaceK".
|
|
|
|
96-10-31 malcolmh Added more specific error messages to the SQL query
|
|
engine.
|
|
|
|
96-10-31 tracyf The handling of files-in-use has been enhanced
|
|
considerably. The InstallValidate action now detects
|
|
whether file costing has identified any files in use, and
|
|
will put up a dialog if appropriate listing the
|
|
processes "using" the file(s). The InstallFiles and
|
|
RemoveFiles actions now also check for files in use, and
|
|
if the user hasn't shut down the offending processes,
|
|
will schedule the file(s) for replacement or removal
|
|
at reboot time (note: Darwin doesn't handle
|
|
automatic reboots yet). See the InstallValidate help topic
|
|
for all the new details.
|
|
|
|
96-10-30 ivanw Added two new possible arguments to the EndDialog
|
|
control event: Retry and Ignore. Both of these remove
|
|
the present dialog, return control to the engine and
|
|
return IDRETRY and IDIGNORE values respectively.
|
|
|
|
96-10-30 chetanp the msi query engine now supports the DISTINCT
|
|
clause
|
|
|
|
96-10-30 ivanw The syntax of the error messages changed slightly.
|
|
The header text and the error messages has been
|
|
swapped. This was necessary so when the Engine appends
|
|
the error number to the front of the text, it will became
|
|
part of the error text and not the header.
|
|
The new syntax for an error message is:
|
|
Error text{button list}Header text
|
|
Most error messages that we have at this point specify only
|
|
the error text. These are not effected by this change.
|
|
|
|
96-10-30 ivanw Changed how the error dialog works. Now the dialog
|
|
is created when needed. As a result, the
|
|
MsiErrorDialog class has been removed. The ErrorDialog property
|
|
determines which dialog is used. The dialog has to have
|
|
the ErrorDialog stylebit set. It also has to have an
|
|
ErrorText text control (this has not changed). The
|
|
author has to specify the action of the buttons in the
|
|
ControlEvent table.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2229
|
|
-----------------------------
|
|
|
|
96-10-28 ivanw Included logic that takes into account the taskbars
|
|
on the Windows screen. Sizes of large dialogs and
|
|
positions of new dialogs use only the rest of the
|
|
screen.
|
|
|
|
|
|
96-10-25 tracyf The "second half" of the RemoveFiles action has been
|
|
completed. In addition to uninstalling (when
|
|
appropriate) files installed by the InstallFiles action,
|
|
RemoveFiles now also reads a new RemoveFile table (if
|
|
present), and tries to remove the files specified
|
|
there. See the helpfile for info.
|
|
|
|
96-10-25 chetanp added DISTINCT support in SQL support for .MSI
|
|
databases
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2225
|
|
-----------------------------
|
|
|
|
96-10-24 ivanw There is a large number of control and dialog
|
|
attributes that are used only from automation, but the code
|
|
itself never calls them. I put all of these into
|
|
#ifdef ATTRIBUTES. This flag is automatically turned on
|
|
in DEBUG. In the future, if needed, we can turn it on
|
|
or off independently. This cuts the handler ship
|
|
size by 15K.
|
|
|
|
96-10-24 ivanw Wizard sequence allows different size dialogs
|
|
(untill now all had to be the same size). The next dialog's
|
|
center will be at the same point as the center of
|
|
the old one was. If this puts the new dialog off the
|
|
screen we pull it back so a little is on the screen,
|
|
so the user can grab it with the mouse.
|
|
|
|
96-10-23 thussey makefile change: DllCanUnloadNow is now exported for
|
|
engine, handler, and services (this change affects
|
|
both win and mac).
|
|
|
|
96-10-23 tracyf Progress bar callbacks have been added to the
|
|
RemoveFiles action - you should now see a rapid progress
|
|
bar when uninstalling files during maintenance mode.
|
|
|
|
96-10-22 ivanw When a control (say a button) triggers an event in
|
|
an other control it is described in the ControlEvent
|
|
table. When that control wants to enable and disable
|
|
the button depending on some condition, it had to be
|
|
describen in the EventMapping table. The same control
|
|
had to be listed in two tables with the same event.
|
|
To remove this duplication, the Dialog::EventAction
|
|
now looks in both tables, therefore if the control is
|
|
listed in the ControlEvent table, it does not have to
|
|
be repeated in the EventMapping table.
|
|
|
|
96-10-22 ivanw Split the Handler interface in two. The methods
|
|
needed by the Engine are in the MsiHandler interface.
|
|
Methods related to creating and destroying dialogs are
|
|
in the new MsiDialogHandler interface. This split makes it
|
|
easier to implement an object that supports the basic
|
|
methods of the handler without supporting the methods that
|
|
are used only by the automation.
|
|
|
|
|
|
96-10-22 tracyf File version handling has been upgraded in several
|
|
ways: first, the Version column of the file table (and
|
|
at a lower level, the CheckFileVersion Path
|
|
function) now accepts one of three formats: a version, a
|
|
date, or an 'overwrite directive'. See the File Table
|
|
and CheckFileVersion topics in the helpfile for more
|
|
info (note that the version column can no longer be
|
|
left blank; you'll get an error if you do). In
|
|
addition, the Version column also now accepts a 'companion
|
|
file' reference to another file in the File table,
|
|
instead of a version or date (again, see the File table
|
|
docs for more info). Full support for proper costing
|
|
of companion files (like when the directory of the
|
|
companion parent changes) is included.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2222
|
|
-----------------------------
|
|
|
|
96-10-18 thussey Added IStrCat to istring.h. Changed all occurrences
|
|
of strcat to IStrCat. If you have any code which
|
|
calls ANSI string functions, e.g. strlen, strcat, etc,
|
|
you should use the corresponding IStr* function
|
|
instead. If there is no corresponding IStr* function you
|
|
should add one. _c2pstr and _ptocstr can be replaced
|
|
with CtoPstr and PtoCstr.
|
|
|
|
96-10-18 thussey Added /OPT:REF to the linker options for both WIN
|
|
and MAC ship builds. The default compiler and linker
|
|
options in msdev are different in places between the
|
|
win and ppcmac compilers. Because of this more default
|
|
options will probably be explicitly set in the
|
|
future.
|
|
|
|
96-10-18 thussey makefile change: LIBC is no longer linked into the
|
|
Install.exe ship builds on both WIN and MAC. The
|
|
runtime code has been completely eliminated from the
|
|
launcher. You will get a link error in the ship build if
|
|
you add code which requires libc.
|
|
|
|
96-10-18 thussey MAC: Due to the changes to the way uncompressed
|
|
files work, you need to rearrange the files on your mac
|
|
to run the mac test database. The files "Month.jan",
|
|
"Month.feb", "Month.mar", "Month.apr", and
|
|
"testdb1.cab" should now be in your Darwin folder, not a
|
|
subfolder. The "Cab2Mac" batch file and the macsetup
|
|
instructions have been updated to reflect this.
|
|
|
|
96-10-18 thussey Change to common.h: the symbols "OLE" and "REG" now
|
|
always defined for both win and mac.
|
|
|
|
96-10-18 thussey MAC: Creator types have been added for all the
|
|
darwin components. These have not been registered with
|
|
apple yet and may change.
|
|
|
|
96-10-18 thussey MAC: makefile change: mac automation dependencies
|
|
have been updated.
|
|
|
|
96-10-18 thussey MAC: String handling has been centralized. A file
|
|
macstr.cpp has been created to hold all the string
|
|
implementations. CopyPascalString,
|
|
CopyCStringToPascalString, and CopyPascalStringToCString have been moved
|
|
from macutil.cpp to macstr.cpp. The inline string
|
|
functions in macstr.h have been moved to macutil.cpp and
|
|
are no longer inlined. All occurences of _c2pstr and
|
|
_p2cstr have been replaced with CtoPstr and PtoCstr to
|
|
allow elimination of the mac runtime.
|
|
|
|
96-10-18 thussey MAC: Added environment variable to toggle between
|
|
using the shipping and componetized OLE Dlls:
|
|
"COMPONENT_OLE={yes,no}".
|
|
|
|
96-10-18 thussey MAC: Changed mac GetEnvironmentVariable
|
|
implementation to make environment settings universal. Instead of
|
|
putting environment variables into the install.r
|
|
file, they are now in a file in the preferences folder.
|
|
To create environment variables on the mac, use
|
|
Resourcerer or ResEdit to create a resource file named
|
|
"MSIEnv" in the "Preferences" folder in the system
|
|
folder. Each preference is a resource of type "STR ". The
|
|
resource name is the name of the environment
|
|
variable, and the resource data is the value. Note:
|
|
environment variables are only implemented in the mac DEBUG
|
|
builds. You cannot use environment variables in
|
|
strings passed to FormatText because there is no equivalent
|
|
on the Macintosh.
|
|
|
|
96-10-18 thussey MAC: The files mautostb.cpp and mautostb.h have been
|
|
added to the Automation Dll. These stubs allow us to
|
|
switch back and forth between the shipping OLE and
|
|
the componetized OLE.
|
|
|
|
96-10-18 thussey MAC: Assert code has been centralized in files
|
|
macassrt.cpp, macassrt.h. The mac MessageBox
|
|
implementation has been moved from macutil.cpp to macassrt.cpp.
|
|
|
|
96-10-18 thussey MAC: Apple's "morefiles" library of file utility
|
|
routines has been checked into darwin. These routines
|
|
should be used whenever you have to deal with the mac
|
|
file system.
|
|
|
|
|
|
|
|
96-10-18 thussey MAC: Changes to the installer. The installer now
|
|
correctly copies new Darwin components over the way the
|
|
windows version does. Also, the
|
|
CoCreateInstance/DllRegisterServer tangle has been implemented. All
|
|
runtime dependencies have been removed.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2218
|
|
-----------------------------
|
|
|
|
96-10-17 ivanw Added a new "ImageHandle" style bit to controls.
|
|
This is applicable to all controls that normaly get some
|
|
image from the Binary table. If this stylebit is
|
|
set, the image is not fetched from the binary table,
|
|
instead the text field of the control contains the
|
|
handle to an already loaded icon or bitmap. This image
|
|
must be loaded by some other action previously and the
|
|
handle is put in the table at runtime. This can be
|
|
used to create a list of all running applications with
|
|
their icons.
|
|
|
|
96-10-17 ivanw Added a listview control to the Windows code. This
|
|
control displays a single column of values with an
|
|
icon next to each one.
|
|
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2215
|
|
-----------------------------
|
|
|
|
96-10-14 johndelo In preparation for supporting temporary database
|
|
table rows, some API functions have changed slightly.
|
|
CreateTable and LoadTable no longer take a boolean
|
|
indicating whether the table can be linked as a
|
|
tree--no longer needed. (extra arg ignored by automation)
|
|
CreateOutputDatabase takes an additional optional
|
|
boolean argument: True to persist temporary rows, False
|
|
to drop temporary rows.
|
|
MsiSummaryInput and MsiSummaryOutput will be removed
|
|
from the next build--use MsiSummaryInfo instead.
|
|
The new MsiTable property: RowState (C++
|
|
SetRowState/GetRowState) is defined, but not implemented yet.
|
|
|
|
|
|
96-10-14 tracyf Prompting for the next removable install disk has
|
|
been implemented, for both Win and Mac. If the InstallFiles
|
|
action detects that SOURCEDIR references a removable (floppy or
|
|
CD-ROM) volume, it will verify that the required disk is
|
|
present in the drive. If not, the user will be prompted to
|
|
insert the proper disk (on the Mac, if the wrong disk is in
|
|
the drive, it will be ejected to allow the user to put the
|
|
right disk in). The InstallFiles and MediaTable helpfile
|
|
topics have been updated to explain this in more detail.
|
|
|
|
96-10-14 tracyf The DirectoryInitialize action now determines the
|
|
state of a new internal Engine mode flag: iefCabinet.
|
|
This flag is set if the cabinet file specified in the
|
|
first Media Table record can be located in the
|
|
SOURCEDIR directory. If no cabinet file name is specified
|
|
(or if the 'Cabinet' column is omitted from the
|
|
table), or if the specified file cannot be located, all
|
|
source files are assumed to be uncompressed and
|
|
located in the appropriate positions in the source
|
|
directory tree. See the Media table help topic for more
|
|
information.
|
|
|
|
96-10-14 tracyf Services has a new CreateVolumeFromLabel function,
|
|
which searches for a mounted volume with a specified
|
|
label and creates an MsiVolume object if it finds a
|
|
match. This is needed for disk switching during
|
|
InstallFiles, and will soon be used by the
|
|
ConfigurationManager.
|
|
|
|
96-10-14 tracyf Added a SetVolume function to MsiPath, which allows
|
|
the MsiVolume object of MsiPath to be replaced
|
|
on-the-fly. This is also used during InstallFiles
|
|
disk switching.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2211
|
|
-----------------------------
|
|
|
|
96-10-10 johndelo MsiSummaryInfo object is now finished and being used
|
|
in the engine and tools.
|
|
This encompasses the functionality of MsiSummaryInput
|
|
and MsiSummaryOutput, which will be removed soon.
|
|
Please update any code and tests.
|
|
Note that by default, existing property values in the
|
|
SummaryInformation stream are retained, unless
|
|
deleted or replaced.
|
|
|
|
96-10-10 thussey Note: because of the Mac database fix, if you have
|
|
run MacDarwin recently then before you can run the
|
|
fixed MacDarwin you will need to throw out the old
|
|
"Config.Msi" file in the MSI subfolder of your Preferences
|
|
folder.
|
|
|
|
96-10-10 malcolmh Fixed bug in Get/Set Int16/32 on the Mac. Databases
|
|
can now be written to and read from on the Mac.
|
|
|
|
96-10-10 ivanw The Windows code for ScrollableText is checked in.
|
|
This is the control used to display the license
|
|
agreement. Right now it displays a hardwired text. As soon
|
|
as the database is able to handle long strings, it
|
|
will read it from the tables like other controls.
|
|
|
|
96-10-08 thussey GetEnvironmentVariable is now implemented for the
|
|
Mac. Removed all the #ifdefs around it in the code. To
|
|
add an environment variable on the mac add a resource
|
|
of type 'ENV ' whose name is the variable you want
|
|
to set, and whose value is a string containing the
|
|
environment variable's value. See install.r for
|
|
examples.
|
|
|
|
96-10-08 tracyf A new "VolumeLabel" function has been added to the
|
|
MsiVolume object. See the updated help file for info.
|
|
|
|
96-10-08 tracyf The SelectionManager's FreeSelectionTable function
|
|
has been upgraded so that it appropriately updates the
|
|
"Installed" column of the Selection table, based on
|
|
the action taken during the current install. This
|
|
function also now returns a Bool indicating whether
|
|
there are any selections remaining in the installed
|
|
state.
|
|
|
|
96-10-08 tracyf The Action table has been replaced by two (and
|
|
possibly more later) new tables: InstallSequence and
|
|
AdminSequence. Note that these columns correspond to the
|
|
"sequence" columns that existed in the Action table.
|
|
Also note that the concept of a "RemoveSequence" has
|
|
been eliminated - the InstallSequence actions are
|
|
responsible for installation AND removal operations.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2208
|
|
-----------------------------
|
|
|
|
96-10-07 thussey Mac test database now writes a "MacDarwin" registry
|
|
key.
|
|
|
|
96-10-07 ivanw Windows dialogs are created with the close button
|
|
and the close option in the system menu enabled or
|
|
disabled depending if a cancel button is defined in the
|
|
Dialog table. The close button, close from the sysmenu
|
|
and ALT+F4 are all equivalent to hitting Escape on a
|
|
dialog: it activates the designated cancel button.
|
|
|
|
96-10-07 johndelo Maintenance mode handling has been implemented in
|
|
the engine and configuration manager. The selection
|
|
manager does not yet save the installed state.
|
|
Databases are generated and stored in an MSI folder
|
|
under the Windows directory (Preferences for MAC).
|
|
The configuration database name is config.msi, the
|
|
product database uses the product key with extension
|
|
.msi. For now, to cleanup, simply delete everything
|
|
in the MSI folder. A property is set to indicate
|
|
maintenance mode: "Installed" which is set to the
|
|
date of the original install, format: YYYY/MM/DD HH:MM:SS.
|
|
This may be used to conditionalize the UI: e.g. NOT INSTALLED.
|
|
Also there is a mode bit in the engine that actions
|
|
can check if they absolutely must: iefMaintenance.
|
|
Most of the actions and processing shouldn't behave
|
|
differently for initial install or maintenance mode.
|
|
|
|
96-10-07 johndelo New actions are added to deal with product registration.
|
|
"ProcessUserInfo" action obtains the user name and org name
|
|
from various registry locations and preprocesses the PID.
|
|
The must be called prior to the main UI wizard sequence.
|
|
The PID processing handles only CD and floppy modes, and
|
|
will be fully implemented and documented in a later release.
|
|
"RegisterProduct" action initialized generation of the
|
|
maintenance mode database and the registration of the product
|
|
with the configuration manager. Eventually it will stamp
|
|
the user info back onto the floppy. This action need not be
|
|
called by products that don't support maintenance mode.
|
|
New summary stream properties have been defined for PID and
|
|
other user info. For new databases, property 31, PID must be
|
|
defined to be a valid PID for these actions to succeed.
|
|
Help on PID is forthcoming. See _summary.idt in testdb for now.
|
|
|
|
96-10-07 johndelo The MsiDatabase methods Commit and Rollback have been removed.
|
|
It their place is a single function that takes an extended
|
|
set of options: idpCommit, idpRollback, idpSave and idpDelete.
|
|
See the help topic MsiDatabase_Persist for documentation.
|
|
|
|
96-10-07 johndelo Warning of upcoming change: MsiSummaryInput and MsiSummaryOutput
|
|
are being merged into a new object: MsiSummaryInfo,
|
|
which will allow selective updates of individual properties.
|
|
Both the new and old objects will be supported for a few releases.
|
|
|
|
96-10-07 johndelo Error codes were added to the return from MsiEngine.Initialize.
|
|
See engine.h for these and for new methods of MsiEngine:
|
|
RegisterProduct and GetProductKey. Some new properties were added.
|
|
|
|
96-10-05 ivanw Changed both ListBox and ComboBox such that there is
|
|
an optional Text field. If the text entry is missing
|
|
or the entire column is missing, the value is used
|
|
for the text as well. Rewrote the combobox code so it
|
|
is now derived from the listbox, saving some code.
|
|
|
|
96-10-04 thussey Change to the makefile: The mac debug build now
|
|
builds the mac test database.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2204
|
|
-----------------------------
|
|
|
|
96-10-03 ivanw Added Value_Next column to the RadioButton table.
|
|
This column is required, if missing you will get an
|
|
error message! The values in this column define the tab
|
|
order within a radiobutton group.
|
|
|
|
96-10-03 ivanw Added Control_Cancel column to the Dialog table. The
|
|
control named in this field gets activated, if the
|
|
Escape button is hit. The value is optional, if empty,
|
|
nothing happen on Escape. If the entire column is
|
|
missing, the database still funtional, but the escape
|
|
will not do anything on any dialog.
|
|
|
|
|
|
96-10-03 tracyf Fixed a bug in the Handler, in which negative file
|
|
cost was being treated as an unsigned, and therefore
|
|
huge, space requirement. This bug would show up if
|
|
your install is overwriting a file that is larger than
|
|
the new file being installed (according to the size
|
|
given in the File table), resulting in the out of disk
|
|
space dialog popping up.
|
|
|
|
96-10-02 tracyf Checked in a bunch of Mac fixes. We can now do complete
|
|
Mac setups, installing both compressed and uncompressed
|
|
files. Fixes include changes in the InstallFiles action,
|
|
the FDIServer module, the MsiFileCopy and MsiCabinetCopy
|
|
objects, and the MsiStringSBCS::AppendString function.
|
|
Also fixed all the Mac memory leaks. In addition, a new
|
|
Mac TestDB has been created, and the .idt and .idb files
|
|
checked in. Instructions on configuring your Mac to
|
|
run this TestDB before checkins will be ready soon.
|
|
|
|
96-10-01 ivanw Added an Escape method to the Event interface. The
|
|
controls call this method when they notice that the
|
|
Escape button is pressed. The notification part is
|
|
ready, the Escape method is not complete yet.
|
|
|
|
96-10-01 ivanw Added keyboard navigation to scrollbars. The Home,
|
|
End, PageUp and PageDown buttons are used for vertical
|
|
movement. Same buttons with a Shift or Control for
|
|
horizontal. (I did not find any better guidelines for
|
|
this)
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2201
|
|
-----------------------------
|
|
|
|
96-09-27 tracyf Exposed through automation these IMsiSelectionManager
|
|
functions that were previously missing: GetVolumeCostTable,
|
|
AddFixedCost, RecostDirectory. Also added a bunch 'o new
|
|
help topics: IMsiCostAdjuster interface, GetDynamicCost,
|
|
GetVolumeCostTable, AddFixedCost, InitializeDynamicCost,
|
|
RegisterCostAdjuster, RecostDirectory.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2127
|
|
-----------------------------
|
|
|
|
96-09-26 ivanw Changed the Windows UI, so that the system handles
|
|
tabbing, accelerator keys and hitting the default
|
|
button. As part of this change, I removed the
|
|
JumpToNextFocus and JumpToPreviousFocus methods from the Event
|
|
public interface and the Accelerator and IsButton
|
|
methods from the Control interface. As a consequence of
|
|
this change, the accelerators are defined in the
|
|
standard Windows manner. If a text control defines the
|
|
accelerator key to a control placed next to it, one
|
|
should take care to place the text control right before
|
|
the other control in the Next-order in the Control
|
|
table.
|
|
|
|
96-09-26 ivanw Added support for large dialogs on Windows. If the
|
|
specified dialog size is larger than the screen size,
|
|
we create a smaller window and add scrollbar(s) on
|
|
one or both sides. Also added mouse interaction with
|
|
the scrollbars. Keyboard interaction with the
|
|
scrollbars is not complete. yet. In connection with this
|
|
added a FullSize dialogattribute. This read only
|
|
attribute describes the size of the entire dialog, not just
|
|
the window we see.
|
|
|
|
96-09-25 tracyf Internal MsiVolume caching has been modified, to
|
|
avoid problems that arise when creating MsiVolumes that
|
|
refer to the same network share using the UNC path
|
|
one time, and by mapped drive letter another time.
|
|
|
|
96-09-25 tracyf Added the DiskNotInDrive method to MsiVolume, to
|
|
assist when creating volume objects that refer to floppy
|
|
disks or CDROMs.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2124
|
|
-----------------------------
|
|
|
|
96-09-23 tracyf Updated the File Table topic in the helpfile to
|
|
include information about the Mac-only columns.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2120
|
|
-----------------------------
|
|
|
|
96-09-18 ivanw Modified the Initialize and Terminate methods of the
|
|
Handler, so that if the initialization fails (for
|
|
any other reason than being already initialized), the
|
|
Handler is returned to a clean state, just like it was
|
|
created, but never tuched. Terminate returns the
|
|
object to this same clean state.
|
|
|
|
96-09-17 ivanw Changed the SelectionTree, PathTailEdit and
|
|
DirectoryList controls such that they can be displayed even
|
|
if the DirectoryManager and/or the SelectionManager is
|
|
not initialized. Added DoNotCallManager stylebit to
|
|
PathTailEdit, and DirectoryList controls. This style
|
|
means that the controls only set a path, but do not
|
|
call the DirectoyManager to set a TargetPath. In
|
|
order to keep the existing databases running, the default
|
|
is to call the manager and one has to set this new
|
|
style bit if this is not desired.
|
|
|
|
96-09-17 chetanp fixed bugs 420 and 421 reagrding inserting null
|
|
integer columns using CMsiView and the incorrect error
|
|
message 1213.
|
|
|
|
96-09-17 chetanp Fixed incorrect "current row" state of the
|
|
CMsiCursor when Insert, Delete, Update or Assign functions
|
|
failed the first time. Used to cause the CMsiDatabase to
|
|
assert the second time around.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2117
|
|
-----------------------------
|
|
|
|
96-09-16 t-robbae MsiGenerate:
|
|
Added support for Macintosh files in the MakeTables
|
|
Method. Now, if you are working with files in an NTFS
|
|
Macintosh volume, set the property MacFiles to True.
|
|
When the file table is generated, four new columns
|
|
will be added: ResourceForkSize, FileFlags, Creator
|
|
and Type. These table entries will be filled with the
|
|
appropriate information for Mac files. In addition,
|
|
the appropriate Macintosh Version data is placed in
|
|
the File table's Version column.
|
|
|
|
96-09-16 chetanp Added help topices for AppSearch CCPSearch,
|
|
RMCCPSearch and PISearch actions
|
|
|
|
96-09-16 chetanp enhanced the APPSearch, CCPSearch and PISearch
|
|
actions so that now they allow for properties in the
|
|
RegLocator, IniLocator and DrLocator tables.
|
|
|
|
96-09-16 johndelo A relative database path passed to
|
|
MsiEngine.Initialize will now be appended to the folder from which the
|
|
launcher was run (actually it uses the module whose
|
|
resource handle was passed in). Leading dot is not
|
|
supported.
|
|
Memory management for the engine, storage, and
|
|
summary stream objects were cleaned up to prevent leaks.
|
|
|
|
96-09-16 tracyf Now that property handling has been moved out of
|
|
MsiServices, MsiPath and MsiVolume objects no longer
|
|
know anything about the SHORTFILENAMES property. To
|
|
ameliorate this situation, the CreatePath services
|
|
method now takes an additional parameter to allow
|
|
suppression of long filenames. I've updated the helpfile in
|
|
a number of places to not only reflect the change,
|
|
but to better explain Darwin's usage of long and short
|
|
file names (check out the updated MsiPath object
|
|
overview, which now details (finally!) the
|
|
"shortname|longname" syntax, and the SHORTFILENAMES property
|
|
topic).
|
|
|
|
96-09-16 chetanp Added table definitions for ProgMan and Shortcut
|
|
tables (.idt files) in darwin\data\testdb.
|
|
|
|
96-09-16 chetanp Added tables Shortcut and ProgMan. Note that the
|
|
structure of the ProgMan table has changed to be
|
|
consistent with the Shortcut table. Added documentation for
|
|
the ProgMan and Shortcut tables and for the
|
|
CreateShortcuts, DeleteShortcuts, CreateProgManItems,
|
|
DeleteProgManItems actions.
|
|
|
|
96-09-16 chetanp Added CreateShortcuts, DeleteShortcuts,
|
|
CreateProgManItems, DeleteProgManItems actions.
|
|
|
|
96-09-16 malcolmh GenerateTransform now creates a summary info stream,
|
|
and the engine now validates that stream. See help
|
|
on GenerateTransform for the details.
|
|
|
|
96-09-13 ivanw Checked in the common and Windows code for the
|
|
VolumeCostList control. This control is used on an Out of
|
|
disk space dialog. Testdb is modified to show the use
|
|
of this control.
|
|
|
|
96-09-13 chetanp Added IniFile and RemoveIniFile table definitions
|
|
(idt files) and corresponding help.
|
|
|
|
96-09-13 chetanp Changed WriteIniValues, RemoveIniValues actions.
|
|
The WriteIniValues action now works on the IniFile
|
|
table only for the "install" mode. The RemoveIniValues
|
|
action works on both the IniFile table (during
|
|
"uninstall" mode) and the RemoveIniFile table (during
|
|
"install" mode).
|
|
|
|
96-09-13 chetanp Corrected and added documentation of the Registry,
|
|
RemoveRegistry tables and the WriteRegistryValues,
|
|
RemoveRegistryValues actions in the action.rtf,
|
|
tabledef.rtf files
|
|
|
|
96-09-13 chetanp Corrected the Registry and RemoveRegistry table
|
|
structures (.idt files) in darwin\data\testdb.
|
|
|
|
96-09-13 chetanp Changed WriteRegistryValues and RemoveRegistryValues
|
|
actions. The WriteRegistryValues action now works on
|
|
the Registry table only for the "install" mode. The
|
|
RemoveRegistryValues action works on both the
|
|
Registry table (during "uninstall" mode) and the
|
|
RemoveRegistry table (during "install" mode"). Also
|
|
made changes to remove the redundant GetExpandedString
|
|
function in the Engine.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2113
|
|
-----------------------------
|
|
|
|
96-09-12 thussey Minor changes to the makefile/dependencies (these
|
|
actually occurred yesterday, I forgot to document
|
|
|
|
1) Removed _handler.h from the engine deps
|
|
|
|
2) build now imports the freshly built error.idt
|
|
into the testdb
|
|
|
|
3) allow a separate set of ship compiler
|
|
optimizations for mac and windows
|
|
|
|
4) common.h supresses bogus warnings in mac ship
|
|
build
|
|
|
|
96-09-12 thussey Checked in new diamond.exe which can correctly build
|
|
mac cabinets. This new diamond.exe is also synched
|
|
to the current diamond slm tree.
|
|
|
|
96-09-12 johndelo The type library for Darwin automation is now stored
|
|
as a resource in the automation DLL, MsiAuto.DLL or
|
|
MsiAutoD.DLL, and is registered by the DLL when it is
|
|
self-reg'd, either by install.exe or regmsi.exe.
|
|
Unregistration of the type library when the DLL is
|
|
unregistered is commented out, as the OLEAUT32 in NT
|
|
3.51 does not support UnregisterTypeLib. This will be
|
|
enabled when NT ServicePack 5 is released, which
|
|
updates that DLL.
|
|
The SampleTool makefile has been fixed to do the
|
|
same, and the one line added to the .CPP file: "#define
|
|
REGISTER_TYPELIB GUID_IID_IMsiSampleToolLib". Other
|
|
tools need to be updated.
|
|
With Excel95, you still need to go to
|
|
Tools/References, but the typelib should always be ready to be
|
|
checked on.
|
|
Note that if a new version of MSI is required it will
|
|
be installed to you system directory. To debug from
|
|
you build, run "REGMSI D" from your build directory
|
|
to reregister those components.
|
|
|
|
96-09-12 tracyf "Selection_Shares" functionality has been added to
|
|
the SelectionManager. See the updated Selection Table
|
|
topic in the helpfile for all the details.
|
|
|
|
96-09-12 chetanp Added IMsiServices::GetModuleUsage functionality
|
|
|
|
96-09-11 johndelo Property handling is now in MsiEngine and has been
|
|
removed from MsiServides, except for
|
|
SetPlatformProperties which now requires a table object. The FormatLog
|
|
and CreateDefaultPropertyTable are obsolete and have
|
|
been removed.
|
|
Text string formatting is now done in two stages:
|
|
MsiRecord.FormatText formats its template string,
|
|
substituting numeric parameters with record field values.
|
|
MsiEngine.FormatText formats any string, substituting
|
|
property values and environment variables.
|
|
EvaluateCondition, which uses property values, had to
|
|
move from services to MsiEngine.
|
|
|
|
96-09-10 ivanw Changed the controls and dialogs such that if their
|
|
caption contains some property, the text updates when
|
|
the property changes. In order to receive the
|
|
update message the control has to specify some property in
|
|
the Control table. This may change when we redesign
|
|
the Control table.
|
|
|
|
The limit of the text size for the edit fields and
|
|
comboboxes has to be defined using {}. I.e. if you
|
|
had [40] for the limit in the text field of the Control
|
|
table, it has to be changed to {40}. This is
|
|
necessary because of the way Record::FormatText works.
|
|
|
|
96-09-10 t-robbae MsiUtilities:
|
|
- For future code compatibility, removed all direct
|
|
reference to 'Darwin' in the code, replacing it with
|
|
the text 'MSI'. This extends all the way up to the
|
|
Automation layer, so any test scripts out there which
|
|
previous included calls to DarwinComponent or
|
|
IncludeDarwin should now be changed to MSIComponent and
|
|
IncludeMSI.
|
|
|
|
96-09-10 t-robbae MsiUtilities:
|
|
-The Launcher Linker portion of the tool has been
|
|
added. This enables the linking of a virgin
|
|
launcher.obj with an RC file and various CustomActions into one
|
|
finished executable. See help for more info.
|
|
-Both LoadProp and the LauncherRc File Creator now
|
|
support the storing of MSI Component files within the
|
|
launcher.
|
|
-The code for LoadProp has undergone a major
|
|
overhaul. Watch out for any new bugs that may have cropped
|
|
up in this code change.
|
|
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2110
|
|
-----------------------------
|
|
|
|
96-09-09 johndelo Darwin version bumpted to 0.11 (property stream
|
|
changes). Engine will reject databases of version 0.10.
|
|
|
|
96-09-09 johndelo The launcher now recognizes a property called
|
|
INSTALLER, that indicates the path to the folder containing
|
|
the Darwin components. Its value may be either a
|
|
subpath beneath the launcher's folder or a
|
|
fullyl-qualified path. If not present the launcher looks for
|
|
components in its own folder.
|
|
|
|
96-09-06 tracyf HelpFile documentation has been updated for the
|
|
Condition Table and for the ProcessConditionTable method.
|
|
|
|
96-09-06 tracyf The IMsiSelectionManager::ResolveSelections method
|
|
is obsolete and has been removed from the COM and
|
|
automation interfaces.
|
|
|
|
96-09-06 ivanw Added FormatText function to the Engine interface.
|
|
This new method combined with MsiRecord::FormatText
|
|
provides the same functionality as the old
|
|
MsiServices::FormatText. Changed all calls to FormatText to use
|
|
the new one, except in Services::FormatLog. As soon as
|
|
FormatLog is migrated from the Services to the
|
|
Engine, we will be able to remove FormatText from the
|
|
Services and with it all the methods getting and setting
|
|
properties. The new Engine::FormatText is
|
|
significantly smaller than the old one. In case of correct
|
|
syntax it should produce the same output (if combined
|
|
with Record::FormatText). If there is a syntax error in
|
|
the string the unmatched square bracker or curly
|
|
brace is left in the text.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2106
|
|
-----------------------------
|
|
|
|
96-09-05 johndelo The automation dll, MSIAUTO.DLL or MSIAUTOD.DLL will
|
|
be installed along with the other components by the
|
|
loader if present in the same folder. No error will
|
|
be generated if not present (error will be generated
|
|
if copy error).
|
|
The Darwin components that are to be installed may be
|
|
optionally LZ compressed.
|
|
|
|
96-09-05 johndelo The default database name used by the
|
|
launcher/loader is now INSTALL.MSI, not TESTDB.MSI. Either rename
|
|
your database, set the resource, or use command line
|
|
DATABASE=...
|
|
|
|
96-09-05 johndelo The launcher/loader, INSTALL.EXE or INSTALLD.EXE,
|
|
now will install Darwin, ship or debug respectively,
|
|
if needed.
|
|
The logic sequence is as follows:
|
|
1. Explicitly specified components are loaded.
|
|
Install fails if any of them fails.
|
|
2. Remaining components are attempted to be created
|
|
by CoCreateInstance
|
|
3. If all not created, components residing in the
|
|
system directory are re-registered.
|
|
4. If still not all created, all components are
|
|
copied to the system directory, registered, and created.
|
|
5. If any of the components return version mismatch
|
|
with database, all are installed if not already done.
|
|
Prefix the action name, normally "Install" with an at
|
|
sign, '@' forces Darwin to install.
|
|
A null action name, or "@", will install Darwin as
|
|
necessary, but will not commence any install.
|
|
This particular launcher expects to find the Darwin
|
|
components in the same folder as the launcher.
|
|
Separate launcher will be built for internet and other
|
|
needs.
|
|
Does not yet install Darwin on the Mac. Help topics
|
|
are forthcoming.
|
|
The DEBUG launcher, INSTALLD.EXE will install and use
|
|
the DEBUG components.
|
|
The SHIP launcher, INSTALL.EXE will use whichever
|
|
components are registered most recently.
|
|
|
|
96-09-04 malcolmh - The summary information stream has changed. See
|
|
"What is the summary info property set?" in the help
|
|
file for specifics.
|
|
- The engine now validates information in the summary
|
|
information stream. Note that the _summary.idt file
|
|
for the testdb has been updated to reflect these
|
|
changes, and will pass all validation tests. If you have
|
|
created other databases you can import the new
|
|
_summary.idt into your database to make things work.
|
|
The following engine does the following validation:
|
|
The MSI Tag field must contain the correct tag (e.g.
|
|
"MSI Product" for a product database).
|
|
The MSI database and engine versions must be
|
|
compatible.
|
|
The platform specified in the Template property must
|
|
be correct.
|
|
One of the languages specified in the Template
|
|
property must exactly match an available language on the
|
|
system (usually English). In future releases more
|
|
multi-language support will be added.
|
|
|
|
|
|
|
|
96-09-04 tracyf The InstallFiles action has been fixed up so that
|
|
proper progress messages are once again being sent
|
|
during file copying (i.e. progress bars are working
|
|
again).
|
|
|
|
96-09-04 thussey Modified make.bat and the makefile to allow mac
|
|
builds on machines without otools. OTools contains alpha
|
|
versions of MacOLE 2.10 while VC4.2 has the shipping
|
|
MacOLE 2.06 headers. Added the file oldole.h which
|
|
enabled the shipping MacOLE headers to work with
|
|
Darwin.
|
|
|
|
96-09-03 ivanw Removed the following methods from the Handler
|
|
public interface:
|
|
GetEngine
|
|
GetServices
|
|
GetDatabase
|
|
CursorCreate
|
|
TreeCursorCreate
|
|
GetUIText
|
|
|
|
Added a GetEngine method to the Event public
|
|
interface.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2103
|
|
-----------------------------
|
|
|
|
96-08-30 tracyf Helpfile documentation has been updated for the
|
|
CostInitialize, FileCost, and CostFinalize actions, and
|
|
for the 'File' table.
|
|
|
|
96-08-30 tracyf To avoid potential confusion, the new
|
|
InstallInitialize action has been renamed to InstallValidate (the
|
|
testdb and docs have been updated).
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2030
|
|
-----------------------------
|
|
|
|
96-08-29 mattwe Acme2Msi (aka Beagle)
|
|
No more rollback or commit
|
|
Convert now requires a database reference, rather than a filename
|
|
Exposed C++ interface for AcmeConvert to simply parse STFs/INFs
|
|
into named tables. This will allow you to do several passes
|
|
with different STFs/INFs and get the results in different tables
|
|
It's a quick hack that'll get cleaned up and exposed to VB after
|
|
I get back. (9/8)
|
|
Known problems:
|
|
Memory leak, and calling SelectionsPass is short-circuited to NYI.
|
|
Checked in intermediate files that I wasn't ready to release to help BenCh.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2027
|
|
-----------------------------
|
|
|
|
96-08-26 t-robbae Utilities:
|
|
Launcher RC file creator now fully implemented. See
|
|
help for full details on use.
|
|
|
|
96-08-26 johndelo SOURCEDIR now defaults to the location of the
|
|
launcher (actually to the folder of the HINSTANCE passed to
|
|
MsiEngine.Initialize). Relative paths are supported,
|
|
as long as they don't begin with the dot notation. A
|
|
new MsiEngine method, ResolveFolderProperty, was
|
|
added to handle source properties. See help.
|
|
|
|
96-08-26 johndelo The default database open mode for
|
|
MsiEngine.Initialize is read-only if the PID_SECURITY is not set. This
|
|
summaryinfo property, 19, needs to be 0 to open
|
|
read-write.
|
|
|
|
96-08-26 thussey Changed handler code to get properties from engine
|
|
instead of services.
|
|
|
|
96-08-26 johndelo The MsiServices Set/Get property methods and the
|
|
Property automation method have been moved from the
|
|
services class to the engine class. All source modules in
|
|
the engine have been updated. For a SHORT time the
|
|
methods remain in services to allow other code and
|
|
tests to be transitioned. See the help and engine.h for
|
|
details.
|
|
|
|
|
|
|
|
96-08-25 tracyf Dynamic file costing has been implemented. This
|
|
involves changes in the CostInitialize and CostFinalize
|
|
actions, and the addition of the FileCost and
|
|
InstallInitialize actions. The CostInitialize documentation
|
|
gives an overview of using the costing actions, and
|
|
more documentation will be added soon.
|
|
|
|
96-08-23 bench Removed argument to MsiDirectoryManager.LoadDirectoryTable
|
|
that specified whether to create a column for
|
|
source paths or not. That column is now always
|
|
created.
|
|
|
|
96-08-23 thussey Added inline bottlenecks to UI objects to make it
|
|
easier to move the Get/SetProperty interface from the
|
|
services to the engine.
|
|
|
|
96-08-23 thussey -- Turned on -Gy (dead code stripping) and -Os
|
|
(optimize for size) in the makefile for both Windows and
|
|
Mac builds.
|
|
|
|
-- Partial implementations of Mac list box and icon
|
|
controls. Only enough to support the demo that ended
|
|
up not showing the Mac version. It isn't worth
|
|
bothering to test them yet.
|
|
|
|
-- Added STRICT_CONTROLS, STRICT_WINDOWS,
|
|
STRICT_MENUS, and STRICT_LISTS definitions to the Mac builds.
|
|
These are helpfull for sorting out Copland/System 7
|
|
issues.
|
|
|
|
-- macutil2.c & h have been removed from the
|
|
project. The window management routines are now in the
|
|
handler code, and the rest is folded into macutil.cpp
|
|
|
|
-- An odd macutil.h/cfile.h header dependency has
|
|
been sorted out.
|
|
|
|
-- Added some new files to the project. These are
|
|
relevant only to the Mac. All these extra files are
|
|
needed to give a layer of abstraction necessary to
|
|
support the eventual Copland OS. Due to my total lack of
|
|
creativity, they have icky names: macdarc.cpp & h
|
|
contain defprocs specific to Darwin. macdproc.cpp & h
|
|
contain the defproc base classes. macdpint.h contains
|
|
internal definitions used by the defprocs.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2023
|
|
-----------------------------
|
|
|
|
96-08-20 t-robbae Utilities:
|
|
Added LogFile property to object. Now LogFile is
|
|
only generated when set to a full path where it is to be
|
|
generated. See Help for more details.
|
|
Added Documentation for future SLM Database
|
|
operations. These don't work yet, and shouldn't be attempted,
|
|
but their basic skeletons are there, both in
|
|
automation and Help file information.
|
|
|
|
|
|
96-08-20 malcolmh - Added support for specifying how errors are
|
|
handling during transforming. A parameter should now be
|
|
passed to SetTransform to indicate which conditions are
|
|
treated as errors and which as warnings. See the help
|
|
file for SetTransform for more information.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2020
|
|
-----------------------------
|
|
|
|
96-08-19 t-robbae Utilities Object:
|
|
(some information reentered here after SLM error ate
|
|
my last update of the release notes).
|
|
|
|
Fixed error in OpenDatabase. Now the Summary
|
|
Information stream is properly copied to the new database
|
|
when an output database is specified, (note that the
|
|
method now only supports MSI and Access databases).
|
|
|
|
Eliminated the idtRoot and idtShare enumerations
|
|
once used in setting directories. Now the idtSource
|
|
should be the parent directory of all the source files
|
|
in the Admin Image (which can now be generated by the
|
|
generate tool).
|
|
|
|
Modified "Attribute" in the automation layer.
|
|
Attribute is now a property which accepts either strings
|
|
or integers on the rhs of the assignment operator.
|
|
These it converts automatically to their appropriate
|
|
value. The set and record arguments have been
|
|
eliminated from this automation layer property. They are
|
|
now controlled by the assignment operator like all
|
|
properties. See help for more details.
|
|
|
|
|
|
96-08-18 davidmck Added FCheckBlock and GetSizeOfBlock functions to
|
|
ole automation to allow testing to get more information
|
|
from blocks.
|
|
Also checked in code to warn when freed objects are
|
|
being called rather than crashing.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2016
|
|
-----------------------------
|
|
|
|
96-08-14 bench Many changes to MsiDirectoryManager. First,
|
|
CreateSourcePaths is now implemented, and the creation
|
|
of the source paths is removed from CreateTargetPaths.
|
|
Also, SetTargetPath has been modified so that when a
|
|
path is changed, all children or duplicates of that path
|
|
are updated appropriately.
|
|
|
|
Also, changes to the way the directory table is interpreted
|
|
when creating source paths have been made. Before, the
|
|
source paths for each entry were just set to SOURCEDIR.
|
|
Now, the source is assumed to have the directory structure
|
|
defined by the Directory Table. When resolving non-root
|
|
source paths, the values of the Directory_Parent and
|
|
DefaultDir fields are used and no properties are checked
|
|
like they are when resolving target paths. When resolving
|
|
root source paths (those records in the Directory Table
|
|
with null parents or parented to themselves), the full
|
|
path of the directory is assumed to be the value of the
|
|
property given in the DefaultDir field. For example,
|
|
the following records resolve to the following source and
|
|
target paths (assuming the ROOTDIR property = C:\ and the
|
|
SOURCEDIR property = C:\SOURCE):
|
|
|
|
DIRECTORY PARENT DEFAULTDIR TARGET SOURCE
|
|
ROOTDIR SOURCEDIR C:\ C:\SOURCE
|
|
excel ROOTDIR Excel C:\Excel C:\SOURCE\Excel
|
|
|
|
Resolving the source directories this way allows multiple
|
|
roots for the source, where different parts of the source
|
|
may even be located on different servers.
|
|
|
|
The \darwin\data\testdb\director.idt file has been updated
|
|
and the location of the test source files has moved from
|
|
\darwin\data to \darwin\data\test\months so that an install
|
|
using testdb will work with these changes.
|
|
|
|
96-08-13 johndelo The message headers have been removed from the error
|
|
messages defined
|
|
by the IError(...) macro in the header files, i.e.
|
|
Error [1]. The appropriate header
|
|
is applied by IMsiEngine::Message when the message if
|
|
formatted. The actual
|
|
header is determined by the message type specified in
|
|
the call, and references
|
|
reserved, low-numbered messages in the Error table.
|
|
See Error table help.
|
|
The DEBUG builds still do not use the error table;
|
|
they use the strings from
|
|
the IError(...) definitions (the DEBUG build still
|
|
makes sure that the table exists).
|
|
Note that the build produces a listing of all ship
|
|
and debug errors in a
|
|
file called MSIERROR.TXT (produced by the
|
|
mkerrtbl.exe tool.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2013
|
|
-----------------------------
|
|
|
|
96-08-09 t-robbae LoadProp in the Utilities tool has been modified to
|
|
be more flexible
|
|
in its operation. Now if no cabinet files are listed
|
|
in the prop file,
|
|
it is not necessary to set a WorkDirectory and Open a
|
|
database.
|
|
An error will be raised if the prop file does include
|
|
cabinets and these
|
|
two preparation items are not performed. Note that
|
|
this means
|
|
that the path given for a database in the prop file
|
|
is now used
|
|
in all cases except when Cabinets are to be stored in
|
|
the resources.
|
|
When cabinets are stored, the path in the prop file
|
|
is ignored as
|
|
before and the open database is stored instead.
|
|
These changes are
|
|
all outlined in the help file.
|
|
|
|
96-08-09 malcolmh Changed CreateStorageFromMemory in the services
|
|
object. It now takes the size of the memory block as its
|
|
second parameter and only supports read-only
|
|
storages.
|
|
|
|
96-08-09 malcolmh - Added the GenerateTransform and SetTransform
|
|
members to the Database object.
|
|
- Added support for extracting a database stored as a
|
|
resource in the launcher
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2009
|
|
-----------------------------
|
|
|
|
96-08-09 t-robbae Numerous changes to the utilities tool:
|
|
|
|
LoadProp now works correctly. Note that currently
|
|
a workdirectory
|
|
and a database must be opened before the propfile can
|
|
be loaded.
|
|
LoadProp now accepts TRANSFORM files as well as
|
|
Databases and
|
|
cabinets to store as resources.
|
|
|
|
PassType now accepts enumerated values of iptRough
|
|
and iptFine
|
|
instead of its old string values.
|
|
|
|
OpenDatabase now as a second argument accepts the
|
|
full path
|
|
to a new file in which to write an output database.
|
|
If this string path
|
|
is left out, OpenDatabase attempts to open the first
|
|
file argument as
|
|
read/write. OpenDatabase may now open other database
|
|
types
|
|
besides .MSI databases so long as the second argument
|
|
is included
|
|
so that a new .MSI database is eventually created.
|
|
(Can't successfully
|
|
deal with an Access database opened as read/write).
|
|
|
|
Note that with David Gonzalez's permission, the
|
|
utiliteis tool
|
|
DOES NOT support a setable Database property in which
|
|
|
|
utilites can be passed a database object itself.
|
|
This is because
|
|
utilites must have exclusive control over its
|
|
databases to open and
|
|
close them as needed, and this cannot be done if a
|
|
client is holding
|
|
onto a reference to the database object. This still
|
|
works because
|
|
utilities should always come at the end of the tools
|
|
process and
|
|
no one should be modifying the database after this
|
|
tool anyway.
|
|
|
|
|
|
96-08-09 ivanw Modified the selection tree such that it uses one
|
|
large icon next to each item (instead of two smaller
|
|
ones) This one icon shows information both about the
|
|
present state and the future state of the item. Changed
|
|
the icons and the text sucht that no distinction is
|
|
made between different kind of source media except in
|
|
the icon on the path line. Changed such that if an
|
|
item is unselected, the children are collapsed and
|
|
hidden, the user can not expand it. The control
|
|
remembers the previous state, and if the item is selected
|
|
again, it expands the same way it was before. The name
|
|
of the items whose selection state will change is
|
|
displayed in bold. If the user does not change the
|
|
selection the text is plain.
|
|
|
|
96-08-08 tracyf The IMsiFileCopy interface now supports
|
|
decompression of files from cabinets stored as Launcher resources
|
|
(not supported through automation yet). See the
|
|
Media Table and MsiFileCopy.ChangeMedia help topics for
|
|
details.
|
|
|
|
96-08-08 tracyf The MsiFileCopy object has changed significantly!
|
|
First, the CreateCopier interface has moved from
|
|
MsiPath to MsiServices. Also, the
|
|
MsiFileCopy::ChangeSource interface is now called ChangeMedia, and has new
|
|
arguments. The MsiFileCopy::CopyTo object takes a new
|
|
argument (to specify the source path object), and
|
|
finally, CopyTo now allows the specification of
|
|
separate source and destination file names for uncompressed
|
|
files. All of these changes are documented in the
|
|
updated help file.
|
|
|
|
96-08-07 johndelo The Darwin loader DLL is GONE, msildr.dll and
|
|
msildrd.dll. The 7K launcher and 27K loader
|
|
are combined into a single 11K install.exe, ship
|
|
build. (this arithmetic baffles me).
|
|
This module did not self-register, was not a COM
|
|
component and was not version-safe,
|
|
and it was not viable for use with an Internet
|
|
installer. It wasn't used by automation either.
|
|
|
|
96-08-07 t-robbae I've made some changes to the way LoadProp and
|
|
OpenDatabase behave.
|
|
|
|
OpenDatabase not accepts a new file value stating
|
|
the name for a
|
|
new file to be created in the work directory. The
|
|
old one argument
|
|
OpenDatabase still works as before. See Help for
|
|
more details.
|
|
|
|
LoadProp must now have the WorkDirectory set and a
|
|
database opened
|
|
in order to operate. There are more structural
|
|
changes inside the
|
|
method, but these should not affect its use on the
|
|
surface except
|
|
in the way property files are written. See Help for
|
|
more details.
|
|
|
|
... Also note the changes to the Attribute method I
|
|
forgot to mention
|
|
on the last release. Attribute now take enumerated
|
|
constants to
|
|
specify the attribute type. See Help for more
|
|
details.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2006
|
|
-----------------------------
|
|
|
|
96-08-05 johndelo Error handlling has been alterered for core Darwin
|
|
components:
|
|
Debug modules set the error templates directly and do
|
|
not use the database Error table.
|
|
Ship modules still lookup error codes in the Error
|
|
table, which now has only Error and Message columns.
|
|
Debug messages, idbgXXX are not in the Error table
|
|
and receive a generic message in Ship builds.
|
|
Most of the messages should be converted from imsg to
|
|
idbg debug messages, as they can only occurs
|
|
due to authoring or coding errors. This will be an
|
|
ongoing process.
|
|
This does not affect tools, since their error
|
|
templates are in their resources.
|
|
Things will be cleaned up a bit more when the engine
|
|
error handling is finished.
|
|
|
|
96-08-03 ivanw Added code and changed the testdb such that the
|
|
Browse dialog can be triggered from the Selection dialog
|
|
to modifiy the path of an item. The name of the
|
|
browse dialog is authorable, thus if we have more than one
|
|
selection dialog they can use differently authored
|
|
browse dialogs.
|
|
|
|
|
|
96-08-03 ivanw Added HandleEvent method the MsiDialog and the
|
|
MsiEvent classes. A control uses this method to notify
|
|
the publisher of an event that it is time to trigger
|
|
the event.
|
|
|
|
96-08-03 ivanw Added a one-icon option to the SelectionTree. By
|
|
setting a stylebit the author can choose to show only
|
|
one icon. This might be preferred in a first instal
|
|
when all the first icons would show the absent state.
|
|
|
|
96-08-03 ivanw Added controlevents to SelectionTree control. As the
|
|
sample shows in testdb information about the
|
|
selected item is displayed in several controls subscribing
|
|
to events published by the selectiontree.
|
|
|
|
96-08-02 mattwe Rollback/Commit now remove the copied file
|
|
Parses the STF and INF into tables: Acme-HDR (stf
|
|
header) Acme-OBJ (stf objects) Acme-INF (inf files),
|
|
and Acme-SMD (source media descriptor).
|
|
|
|
What's Broke: running "Convert" twice in a row without
|
|
a new AcmeConvert object asserts. Parsing mangled
|
|
stfs/infs isn't handled at all.
|
|
|
|
Long File Names column in Acme-INF doesn't include path
|
|
from ShortFileName MsiTable has been wobbly importing/
|
|
exporting really large (OfficePro '95) tables. Still
|
|
investigating. Works fine with Works' files from
|
|
\\products.
|
|
|
|
DEBUG has all memory tracking on, so is really slow.
|
|
SHIP handles Office in ~8 seconds on my p6-200.
|
|
Localized stfs/infs with multibyte chars is broken.
|
|
|
|
|
|
96-08-02 johndelo MsiString object has two new methods: UpperCase and
|
|
LowerCase. See help.
|
|
These are optimized to convert inplace when only one
|
|
reference exists.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.2002
|
|
-----------------------------
|
|
|
|
96-07-31 ivanw Changed PublishEvent so the argument is a record not
|
|
a string. Since this argument gets passed to a
|
|
Control::Attribute function, that takes a record, this is
|
|
more general this way. Also changed the SetText and
|
|
SetProgress control attributes.
|
|
|
|
96-07-31 ivanw Added UIText table. This table contains the
|
|
localized text strings used by the UI that have no home in
|
|
some other table. Added a GetUIText method to the
|
|
handler to get these strings.
|
|
|
|
|
|
-----------------------------
|
|
Release 0.10.00.1930
|
|
-----------------------------
|
|
|
|
96-07-29 johndelo LEGO builds are now using LIBCMT.LIB for runtime
|
|
library, insteal of
|
|
LIBCMTD.LIB which has no codeview info. In fact, only
|
|
the LIBCMT in
|
|
OTOOLS has codeview info. not that from VC4.0 or
|
|
VC4.2.
|
|
|
|
96-07-29 ivanw Changed the ProgressBar so it can take different
|
|
range values. The default is still 1024, if none is
|
|
specified. The progress message can also specify the name
|
|
of the action, this way we can have more than one
|
|
ProgressBar on the same dialog showing the progress of
|
|
different actions.
|
|
|
|
96-07-28 ivanw Changed the way icons are loaded. With two style
|
|
bits the author can specify what size image of the icon
|
|
should be loaded. Also added a static icon control
|
|
type. With these modifications the bitmaps and icons on
|
|
different kind of buttons should be complete except
|
|
graying the images on disabled buttons on NT3.51.
|
|
|
|
96-07-26 ivanw Rewrote the Bitmap class such that it uses a static
|
|
control on Win95 and NT4. Also added the fixedsize
|
|
option to bitmaps on all Windows systems.
|
|
|
|
96-07-26 ivanw Fixed the accelerator keys in the Windows UI. You
|
|
can put an accelerator key in the text of a control,
|
|
even if the text is not shown on the screen.
|
|
Accelerator keys in static text are displayed (as underlined)
|
|
but not functional, since the text control can not
|
|
take focus. Using these two facts you can assign an
|
|
accelerator key to an edit field (whose corresponding
|
|
text from the table is not visible) and to show it to
|
|
the user you can put the same accelerator in the
|
|
associated text control. If this sounds too complicated,
|
|
look at the first dialog of testdb, and it will be
|
|
clear. One can put accelerator keys to the text field of
|
|
any control except the bitmap and the (not yet
|
|
implemented) icon control. The text field in those is the
|
|
name of the binary data. This is not a real
|
|
limitation, since these two controls can not take focus anyway.
|
|
|
|
|
|
-----------------------------
|
|
Release 0.10.00.1926
|
|
-----------------------------
|
|
|
|
96-07-25 ivanw Added a Reset method to dialog, that resets all the
|
|
properties and controls to their state at the
|
|
creation of the dialog. Added reset buttons to the dialog in
|
|
testdb, to show how this works. Also added Undo to
|
|
indirect controls.
|
|
|
|
96-07-25 ivanw Modified all controls such that indirect properties
|
|
get updated on the same dialog. Added two new dialog
|
|
to testdb to show and test some of the cool things
|
|
that can be done with this. (based on Tim's idea)
|
|
|
|
96-07-25 ivanw Modified the ListBox, ComboBox and RadioButtonGroup
|
|
classes such that they can be created with a property
|
|
that has no initial value. The controls come up with
|
|
nothing selected initialy. After the user selected
|
|
something, there is no way of going back to unselect.
|
|
If the control is tied to an indirect property, that
|
|
property must have an initial value!
|
|
|
|
96-07-25 ivanw Added a new stylebit to the ComboBox control,
|
|
creating a control with not edit field. This way the user
|
|
can select from a list of predefined values, but can
|
|
not add a new one.
|
|
|
|
96-07-24 ivanw Since many found calling AddControl with Null
|
|
strange, I added a new method, FinishCreate to the Dialog
|
|
interface. One should call this when all the controls
|
|
are added. In order to keep the old scripts alive
|
|
calling AddControl with Null will still do the same.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.1923
|
|
-----------------------------
|
|
|
|
96-07-22 ivanw Changed all the handler classes (except the Mac
|
|
specific ones) such that they use PComPointers as member
|
|
data. If I done this correctly, it should result in
|
|
no visible difference in the way things work. Since
|
|
every object was changed in the process, it needs
|
|
testing.
|
|
|
|
96-07-20 ivanw Changed the testdb such that to run AppSearch one
|
|
has to set the APPS_TEST property. To run CCPSearch one
|
|
has to set the CCP_TEST property. This way the rest
|
|
of us don't have to sit through these actions every
|
|
time we run testdb.
|
|
|
|
96-07-19 johndelo Commit MUST be called on MsiDatabase objects before
|
|
their destruction in order
|
|
for changes to be preserved. Else, the default
|
|
behavior on destruction is to
|
|
Rollback the database. Previously it would Commit on
|
|
destruction which led
|
|
to an abundance of corrupt databases. Note that the
|
|
engine will call
|
|
Commit or Rollback on its Terminate method, depending
|
|
upon the arg passed.
|
|
MsiDatabase.CreateOutputDatabase now transfers binary
|
|
streams from both
|
|
MSI and MDB databases, thus generating an installable
|
|
database.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.1919
|
|
-----------------------------
|
|
|
|
96-07-18 johndelo Engine.Terminates now takes a required boolean
|
|
argument: True to Commit, False to Rollback the database,
|
|
and Terminate now writes SummaryInformation
|
|
properties to the database file created by
|
|
CreateOutputDatabase. Note that CreateOutputDatabase
|
|
does not yet transfer binary streams (bitmaps).
|
|
The Database.Storage property was added for use by
|
|
the MsiEngine to access the output storage object.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.1916
|
|
-----------------------------
|
|
|
|
96-07-15 johndelo Error handling added to SampleTool, need to do the
|
|
same for other tools.
|
|
Worked around ODBC shutdown bug which caused random
|
|
crashes and app exits.
|
|
|
|
|
|
96-07-14 ivanw Added PropertyChanged to MsiDialog interface. It is
|
|
called when a child dialog is destroyed and control
|
|
returns to the parent dialog. This way we can update
|
|
the controls in case the child window changed the
|
|
value of some property.
|
|
|
|
96-07-14 ivanw Completely rewritten Services:FormatText using
|
|
MsiString functions instead of buffers. Also added some
|
|
new functionality. See help page for details. Also
|
|
checked in format.xls a small script to test the
|
|
function. Considering the large number of cases that can go
|
|
wrong in this function, it needs more testing.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.1912
|
|
-----------------------------
|
|
|
|
96-07-11 ivanw Added a large number of new pages under the new
|
|
"User Interface Topics" heading describing all the dialog
|
|
types, control types, style bits, attributes, and
|
|
controlevents.
|
|
|
|
|
|
96-07-11 johndelo If MsiEngine.Initialize is given an empty string for
|
|
a database path, it will construct
|
|
a temporary database with an empty Property table.
|
|
This functionality is for
|
|
testing purposes, replaced the previous method of
|
|
using CreateDefaultPropertyTable (or whatever it is
|
|
called)
|
|
|
|
|
|
96-07-09 ivanw msihndlr.xls and the text version of the same file
|
|
msihndlr.bas, are modified to use the new engine
|
|
initialization method. They are intended to show the
|
|
correct sequence of initialization and termination of the
|
|
objects needed to use the Handler object.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.1909
|
|
-----------------------------
|
|
|
|
96-07-08 johndelo The CreateDestinations action is obsolete, use
|
|
DirectoryInitialize instead.
|
|
The old action is temporarily supported by simply
|
|
calling the new one.
|
|
MsiServices.CreateDatabaseFromStorage has been
|
|
exposed to automation.
|
|
It has been used internally, and requires that the
|
|
storage object contain valid database data.
|
|
|
|
|
|
96-07-05 johndelo MsiEngine::Initialize now takes services, handler,
|
|
database, and propertyfile
|
|
properties formerly passed as parameters. Check the
|
|
Help topic. Note that the
|
|
database path is passed in, not the object. The
|
|
engine now validates the file
|
|
before creating the database object. MSI databases
|
|
now must have a
|
|
summary info property stream with the PID_TITLE
|
|
property set to
|
|
"Installation Database 0.10" in order to work with
|
|
this version of Darwin.
|
|
For ODBC databases, the information is put in the
|
|
_SummaryInfo table, but
|
|
that table is not checked in this release--will be
|
|
added soon.
|
|
|
|
96-07-05 ivanw To avoid further confusion, removed the Initialize
|
|
and Terminate methods for Handler from automation. The
|
|
Handler object has to be initialized and terminated
|
|
through the appropriate methods of the engine.
|
|
|
|
|
|
96-07-05 davidmck Changed code in CMsiMalloc to give information on
|
|
IMsiRecord object.
|
|
|
|
96-07-03 johndelo OpenView intent flag ivcTableAll has been removed
|
|
and is no longer supported.
|
|
Child MsiStorage objects now keep a reference to
|
|
their parent objects to prevent their premature release.
|
|
|
|
96-07-03 thussey The file controls.h has been deleted from the
|
|
project since it is no longer used anywhere and contains
|
|
obsolete definitions which get in the way of global
|
|
searching.
|
|
|
|
96-07-02 ivanw Since we don't build the old UI anymore, the
|
|
previous file name conflicts are removed. Hence _control.h
|
|
is renamed to control.h and ccontrol.cpp is renamed
|
|
control.cpp.
|
|
|
|
96-07-02 thussey Added two files: mactool.cpp and mactool.h. These
|
|
files implement stack-based wrapper classes for Mac
|
|
Toolbox data structures.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.1902
|
|
-----------------------------
|
|
|
|
96-07-01 johndelo RegMsi.Exe tool has been fixed an extended to
|
|
register all Darwin and tool DLLs.
|
|
Type regmsi ? to get help. The debug version
|
|
regmsid.exe works identically except
|
|
that it contains debugging symbols. Both can register
|
|
modules of all builds.
|
|
The module.h and tools.h headers have been cleaned up
|
|
a bit, requiring minor
|
|
changes in the include sections of all module files
|
|
(all checked in).
|
|
|
|
96-07-01 tracyf Alert: significant changes have been made to the
|
|
File and Media tables. In the Media table, the
|
|
'Noncabinet' and 'Split' columns have been eliminated
|
|
(doesn't hurt anything if they still exist in your table).
|
|
Files are now marked as uncompressed by setting an
|
|
Attribute bit in the file table (until you mark your
|
|
uncompressed files, if you've got any, you'll get
|
|
errors saying this file or that can't be found in a
|
|
cabinet). See the updated docs for these tables in the
|
|
HelpFile.
|
|
|
|
96-06-29 davidmck Added code to step back two additional callers in
|
|
the memory debugger for a bit more information.
|
|
Added code to check all memory blocks for corruption.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.1828
|
|
-----------------------------
|
|
|
|
96-06-27 ivanw The DirectoryCombo and VolumeSelectCombo controls
|
|
display the
|
|
volumes whose type is specified in the stylebits. For
|
|
now the removable
|
|
and the floppy are the same. So if you set both bits
|
|
at the same time
|
|
you are asking for trouble. In the future the
|
|
path/volume object
|
|
will distinguish between the two kinds of volumes.
|
|
|
|
96-06-26 ivanw ControlEvent table modified so the push of a button
|
|
(or other control)
|
|
can trigger more than one event. Their order is
|
|
determined by the new
|
|
Ordering column at the end of the table. This column
|
|
is REQUIRED.
|
|
If the column is missing the UI will fail. Leaving
|
|
the column empty is OK, if a
|
|
button triggers only one event or you don't care for
|
|
the order.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.1825
|
|
-----------------------------
|
|
|
|
96-06-24 ivanw Browse dialog completed, except some cosmetic issues
|
|
on NT3.51.
|
|
The dialog involves three new controls.
|
|
The PathTailEdit control is an edit control that is
|
|
design to modify the last
|
|
segment of the path. If a complete path is entered,
|
|
it recognizes that and
|
|
sets the entire path. Also if several segments of the
|
|
path are entered, it
|
|
accepts it as long as the whole path makes sense.
|
|
The DirectoryCombo and DirectoryList controls are
|
|
designed to select the
|
|
path except its last segment. They also deal with
|
|
phantom pathes and
|
|
creating/renaming folders.
|
|
All the above controls verify if the selected path is
|
|
valid.
|
|
|
|
The VolumeSelectCombo is a combobox showing all
|
|
volumes.
|
|
|
|
Added a new style to the progress bar, so it can be
|
|
displayed in the
|
|
solid, continuous form as before or the chunky stile
|
|
of Win95.
|
|
|
|
If there is a text specified in the Control table
|
|
for a progress bar, the
|
|
control will publish a controlevent of this name.
|
|
When the progress bar
|
|
is complete (gets to 100%) it enables all controls
|
|
subscribing to this
|
|
controlevent.
|
|
|
|
The Handler::Message function in case of a progress
|
|
message checks
|
|
the record if there is an action name in the third
|
|
field. If there is, it
|
|
publishes a progress event by that name. If there is
|
|
no name there, it
|
|
publishes a default event. This way we can have more
|
|
than one
|
|
progress bar at the same time, tracking the progress
|
|
of different actions.
|
|
|
|
|
|
-----------------------------
|
|
Release 0.10.00.1821
|
|
-----------------------------
|
|
|
|
96-06-19 tracyf Made several fixes to bring the Mac MsiPath and
|
|
MsiCopyFile objects back up to approximate par with the
|
|
Windows versions: fixed several MsiCopyFile::CopyTo
|
|
bugs (cabinet version), updated the docs, and fixed a
|
|
Mac bug in MsiServices::GetLocalPath. I also checked
|
|
in a new version of MsiPath.bas (in the Darwin\tools
|
|
directory) which now tests all MsiPath/MsiFileCopy
|
|
interface functions, both the Mac and Win.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.1807
|
|
-----------------------------
|
|
|
|
96-06-07 johndelo SumInfo.Exe is now in the build, a simple tool that
|
|
loads Services via OLE
|
|
and displays the SummaryInformation stream
|
|
properties.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.1804
|
|
-----------------------------
|
|
|
|
96-06-04 tracyf Fixed bug 164 (allowing the MsiPath::GetLocalPath
|
|
function to treat its parameter as optional).
|
|
|
|
96-06-04 tracyf Last build, in response to bug 170, I erroneously
|
|
changed the MsiPath::CopyTo function to use field 1 of
|
|
the passed in record as the source file name for
|
|
uncompressed file copying. For this build, I've changed
|
|
it back so that both the source and destination file
|
|
names are taken from field 2.
|
|
|
|
96-06-02 tracyf Fixed the following bugs: 157, 167, 170, 173, 182,
|
|
186, all dealing with MsiPath functionality or
|
|
documentation.
|
|
|
|
96-06-02 tracyf A new function, ReadResource, has been added to the
|
|
MsiPath interface. This allows for automated testing
|
|
in conjunction with the UpdateResource function, and
|
|
also may prove useful in the future for various
|
|
install actions. The helpfile has been updated to
|
|
include ReadResource documentation.
|
|
|
|
96-06-02 tracyf The MsiPath::UpdateResource function has been fixed
|
|
so that it now works with both 16 and 32 bit
|
|
executables (previously it was badly broken for 32 bit
|
|
files). The docs in the helpfile have also been updated.
|
|
|
|
-----------------------------
|
|
Release 0.10.00.1731
|
|
-----------------------------
|
|
|
|
96-05-23 johndelo MsiServices::CreateMsiStorage has been renamed to
|
|
MsiServices::CreateStorage, fixing misnaming in help/tlb.
|
|
AUTOCOM.H has been moved to the common INC directory,
|
|
and can be used for any automated module.
|
|
All common module code is now contained in the headers:
|
|
module.h, autocom.h, and _assert.h. See file header comments.
|
|
Initial sample tool code checked in to SRC\TOOLS\SAMPTOOL.
|
|
|
|
96-05-30 tracyf The following bugs have been resolved (most all
|
|
involving MsiPath or related services functions): 187,
|
|
188, 191, 192, 193, 199, 202, 203, 204, 212, 213, 218,
|
|
219
|
|
|
|
96-05-30 tracyf Added support to the InstallFiles action for
|
|
handling files in use: if a file to be replaced is in use,
|
|
it now gets added to the restart list (in the registry
|
|
on NT, or in WININIT.INI on Windows 95), to be
|
|
replaced at restart time. Of course, Darwin does not yet
|
|
support automatic restart at the end of setup, so
|
|
you'll have to reboot manually to see the effect.
|
|
|
|
96-05-28 davidmck Added GetDebugFlags routine to the debug allocator
|
|
so you can check on what flags are set.
|
|
|
|
-----------------------------
|
|
Release 1.0.1724
|
|
-----------------------------
|
|
|
|
96-05-23 johndelo Version numbers have been changed for all Darwin
|
|
components to 0.10.0.<build>.
|
|
This number will be bumped (minor version) each time
|
|
we break database compatibility.
|
|
We we RTM Darwin the first time, the version will
|
|
then be bumped to 1.0.
|
|
Following the ACME convention, the version numbers
|
|
reported as properties by the various components
|
|
will contain only 2 fields for SHIP build,
|
|
e.g."0.10", and 4 fields for DEBUG builds, e.g."0.10.0.1724".
|
|
|
|
96-05-22 johndelo All of the Darwin DLLs now support the standard OLE
|
|
entry points and will
|
|
self-register to allow them to be created with
|
|
CoCreateInstance. A new tool
|
|
is available, RegMsi.EXE, to register any or all of
|
|
the components See help file.
|
|
(RegMsiD.EXE and REgMsiL.EXE to register DEBUG and
|
|
LEGO build components).
|
|
The services, handler, and engine all set their
|
|
version properties: VersionServices, etc.
|
|
Asserts have been reworked to avoid inline expansion,
|
|
which was bloating debug builds.
|
|
|
|
96-05-22 ivanw Icons are working on pushbuttons, radiobuttons and
|
|
checkboxes.
|
|
testdb is expanded by several dialogs to test these
|
|
new styles.
|
|
The additional dialogs show up only if the property
|
|
UITEST is set.
|
|
The checked in code and testdb contain some yet
|
|
unfinished code for
|
|
MsiBrowseCombo, but it should not hurt anything else.
|
|
|
|
-----------------------------
|
|
Release 1.0.1717
|
|
-----------------------------
|
|
|
|
96-05-16 johndelo For creating summary streams on newly built MSI
|
|
databases, importing a table
|
|
named "_SummaryInformation" will stream its data
|
|
pairs to the standard property stream.
|
|
(For ODBC database, a standard table will be
|
|
created.) See help under ImportTable.
|
|
The new file under darwin/data/testdb is
|
|
"_Summary.idt".
|
|
|
|
96-05-15 johndelo ImportTable and ExportTable are now fully functional
|
|
with .MSI databases.
|
|
MsiTable.EXE has been updated to handle .MSI
|
|
databases as well.
|
|
Note that the text archive format spec "b0" has been
|
|
changed to "i0" (Boolean data type).
|
|
The old format "b0" will still be accepted for a few
|
|
builds.
|
|
The makefile now builds TestDb.Msi as well as
|
|
TestDb.Mdb. Install may be run from either.
|
|
|
|
96-05-15 chetanp 1. Added "iField" parameter to ReadIniFile to be
|
|
able to access individual fields in an .INI file
|
|
|
|
96-05-15 tracyf Resolved bugs 166, 170, 174, and 181. Of particular
|
|
note are changes to the MsiPath::CreateCopier,
|
|
MsiFileCopy::CopyTo functions. See the updated help file
|
|
for full documentation.
|
|
|
|
-----------------------------
|
|
Release 1.0.1714
|
|
-----------------------------
|
|
|
|
96-05-13 johndelo New methods implemented for MsiStorage, including
|
|
enumerators and RemoveElement. See TLB,Help
|
|
DropTable implemented for MSI databases,
|
|
Import/ExportTable implemented but not ready for testing until
|
|
next build.
|
|
|
|
-----------------------------
|
|
Release 1.0.1710
|
|
-----------------------------
|
|
|
|
96-05-09 tracyf After copying a file in the InstallFiles action, the
|
|
"State" column of the Files table is now updated to
|
|
reflect the file's installation status. If Darwin
|
|
installed a new file, the state is set to
|
|
"ifsInstalled". If an older file was overwritten, the state
|
|
becomes ifsOverwriteInstalled. However, note that these
|
|
states won't actually be detectable or useful until
|
|
writing out of the persistent maintenance database is
|
|
implemented.
|
|
|
|
96-05-09 tracyf Added version checking to the InstallFiles action -
|
|
if an existing file is the same or higher version, it
|
|
will not be overwritten.
|
|
|
|
96-05-09 tracyf If the CommonFilesDir or ProgramFileDir directory
|
|
location cannot be read from the registry, Darwin now
|
|
sets a default location for these directories. For
|
|
now, a subdirectory of the Windows directory is used,
|
|
with subdirectory names of "Common Files" and "Program
|
|
Files". (This may change if/when a more "proper"
|
|
default location is decided upon).
|
|
|
|
96-05-09 tracyf Fixed a bug in the FDI Server: previously, an FDI
|
|
error would occur when trying to copy files from more
|
|
than one cabinet, IF the file split from one cabinet
|
|
to the next was not copied, OR if there is no file
|
|
split across cabinets. This was because there was no
|
|
Darwin mechanism to switch cabinets other than the
|
|
processing of the "need next cabinet" message send by
|
|
FDI, which occurs only when a file split across cabinets
|
|
is being copied.
|
|
|
|
96-05-08 ivanw Pushlike radiobuttons, and checkboxes added with
|
|
text or bitmaps.
|
|
Pushbuttons with bitmaps (picturebuttons) are added.
|
|
Bitmaps are
|
|
stretched even on Win95 (where the system would not
|
|
do it on its own).
|
|
Icons on buttons are still not functional.
|
|
testdb.mdb demonstrates all the completed styles (if
|
|
the UITEST property is
|
|
set).
|
|
|
|
-----------------------------
|
|
Release 1.0.1707
|
|
-----------------------------
|
|
|
|
96-05-06 johndelo Automation for Storage, Stream, SummaryInput,
|
|
SummaryOutput is now complete, along with help.
|
|
Dates must either be valid DOS dates (greater than
|
|
1/1/80) or else time (fraction day: 0.0 <= date <
|
|
Input database can now be opened read-only when using
|
|
CreateOutputDatabase (bug 158).
|
|
Automation string handling will now accept MsiString
|
|
objects where the C++ interface so specifies.
|
|
|
|
96-05-03 ivanw Radiobuttons with bitmaps are added. Also pushbutton
|
|
shaped radiobuttons are available.
|
|
To show these new options the testdb has been
|
|
expanded with several dialogs.
|
|
To see all these dialogs you have to set the property
|
|
UITEST on the command line.
|
|
If the property is not set, only two dialogs show up
|
|
in the wizard sequence.
|
|
|
|
-----------------------------
|
|
Release 1.0.1703
|
|
-----------------------------
|
|
|
|
96-05-02 johndelo Add automation for MsiStorage and MsiStream,
|
|
MsiServices.CreateMsiStorage - see help
|
|
Fixed a number of small database storage-related
|
|
bugs.
|
|
Installs now work from .MSI databases. No Import or
|
|
Export yet--need to use CreateOutputDatabase followed
|
|
by Commit
|
|
The loader now opens the input database read-only.
|
|
|
|
96-04-30 tracyf Fixed bugs 81, 120, 121, 128, 144, 145 (help
|
|
document bugs).
|
|
|
|
-----------------------------
|
|
Release 1.0.1630
|
|
-----------------------------
|
|
|
|
96-04-29 johndelo Database functions Commit and Rollback are
|
|
operational,
|
|
can be called only once on a database, and no updates
|
|
afterwards. See help.
|
|
Persistent Msi Database is now implemented, extension
|
|
.MSI. More help in next release.
|
|
Binary objects from both ODBC and MSI are processed
|
|
using MsiStream objects.
|
|
Automation and help for MsiStream will not be
|
|
available until the next release.
|
|
However stream objects can be converted to string
|
|
objects (GetMsiString).
|
|
The persistent Msi storage should work on Mac if OLE
|
|
is installed, but has not been tried.
|
|
|
|
96-04-29 davidmck Not a new item, but a discovered item.
|
|
For function names in memory information to work on
|
|
NT 3.51 you need dbi.dll on your path.
|
|
For Win95 you need mspdb40.dll on your path.
|
|
|
|
-----------------------------
|
|
Release 1.0.1625
|
|
-----------------------------
|
|
|
|
96-04-24 chetanp fixed bug 133 in autosrv.cpp
|
|
|
|
-----------------------------
|
|
Release 1.0.1623
|
|
-----------------------------
|
|
|
|
96-04-22 johndelo There are a number of database additions connected
|
|
with persistent storage.
|
|
They are described in the help file, and will be
|
|
mentioned here when they are operational.
|
|
The MsiTable column definitions are contained in the
|
|
system catalog as a 16-bit integer
|
|
consisting of a number of bit attributes along with
|
|
the SQL byte width. See help for CreateColumn.
|
|
The CreateColumn and GetColumnType functions now take
|
|
and return this integer.
|
|
The enumerations, icdXXX (Installer Column
|
|
Definition), are in the typelib, replacing itdXXX and itcXXX
|
|
The GetColumnKind has be removes, subsumed by
|
|
GetColumnType.
|
|
The MsiCursor method SetFilter has been made into a
|
|
read/write property: Filter.
|
|
More enumerated states can be returned from
|
|
FindTable, itsEnum. See help or typelib
|
|
The MsiDatabase property UpdateState reports the
|
|
persistent state of the database.
|
|
|
|
|
|
96-04-19 johndelo Database low-level column type idtInteger has been
|
|
replaced with
|
|
idtLong (32-bit) and idtShort (16-bit). For a SHORT
|
|
time, idtIntegers is still defined
|
|
to idtLong until the non-services code is updated.
|
|
idtLong should be used for temp. columns,
|
|
itdShort should be used, where possible, for
|
|
persistent columns.
|
|
|
|
-----------------------------
|
|
Release 1.0.1616
|
|
-----------------------------
|
|
|
|
96-04-15 johndelo A new argument has been added to CreateDatabase,
|
|
readOnly, a boolean which indicates
|
|
if the database should be opened read-only (True) or
|
|
read-write (False). This will eventually
|
|
be the default mode during an install, as a separate
|
|
output database is created.
|
|
|
|
Rollback method has been added to MsiDatabase,
|
|
which will backout any changes made
|
|
to the database. This is to be called before exit
|
|
when a fatal error occurs. See help.
|
|
|
|
96-04-11 davidmck Added support for logging all memory allocations.
|
|
Set the environment variable DEBUGMEM on windows or add
|
|
the short resource named DEBUGMEM to the launcher on
|
|
the Mac.
|
|
DEBUGMEM is a set of bit flags. 0x2 tells it to log
|
|
allocations.
|
|
|
|
-----------------------------
|
|
Release 1.0.1609
|
|
-----------------------------
|
|
|
|
96-04-08 ivanw The error handling has changed in the handler. Lower
|
|
level functions return
|
|
an error record, instead of posting the error
|
|
themselves and returning a Bool.
|
|
In the new scheme only methods in the handler class
|
|
post error messages.
|
|
Some functions, like WinMessage and Accelerate return
|
|
some information
|
|
in the error record, that is not a true error. In
|
|
the normal use of these
|
|
functions, these messages used as return codes. If
|
|
the functions are
|
|
called directly from automation, these error records
|
|
should translate into
|
|
meaningful messages about what the function
|
|
accomplished.
|
|
|
|
96-04-06 davidmck Added MsiAuto.ShowAsserts method which can turn on
|
|
and off asserts in the services and engine modules
|
|
currently.
|
|
I'll add the Handler later.
|
|
|
|
-----------------------------
|
|
Release 1.0.1602
|
|
-----------------------------
|
|
|
|
96-03-29 tracyf Mac UI improvements: Group Box control now
|
|
implemented, and RadioButton groups now have a group frame;
|
|
Bitmap controls are now implemented; fixed tabbing
|
|
problems; implemented transparent text for static text
|
|
controls; fixed problems with dialog window heights,
|
|
and positioning of PushButtons.
|
|
|
|
-----------------------------
|
|
Release 1.0.1528
|
|
-----------------------------
|
|
|
|
96-03-27 tracyf A Mac MessageBox function has been implemented,
|
|
which takes the exact same parameters as the Win version.
|
|
The first immediate benefit of this is that asserts
|
|
(which use MessageBox) are now fully functional for
|
|
Mac.
|
|
|
|
96-03-27 tracyf Mac UI controls for the new Handler DLL are now
|
|
available! The following controls are functional:
|
|
- Static text
|
|
- Edit text
|
|
- Pushbuttons
|
|
- Radio buttons (minus the frame border, which will
|
|
come later)
|
|
- check boxes
|
|
|
|
The UI database tables for Mac and Win are
|
|
identical, so the same tables can be used for both without
|
|
modification.
|
|
|
|
96-03-26 johndelo CONVENTION: All directory paths end with a directory
|
|
separator,
|
|
both the result of function calls and properties set
|
|
by SetPlatformProperties.
|
|
At directory resolution time, any directory
|
|
properties will be fixed up as needed.
|
|
|
|
96-03-25 ivanw the new UI becomes the default. If you need the old
|
|
one for some reason you can reach it by using
|
|
HANDLER=msictl(D).dll
|
|
|
|
|
|
96-03-25 johndelo A log option is now available to dump all of the
|
|
property values at the end of the log.
|
|
Include the letter 'p' in the value for LOGMODE
|
|
property. See help for LOGMODE.
|
|
The Condition table is now processed by the
|
|
CostILnitialize action.
|
|
The Selection table is now resolved for Install Level
|
|
only by the CostFinalize action.
|
|
In the testdb database, setting the NOJAN, NOFEB,
|
|
NOMAR, NOAPR properties
|
|
will turn off the corresponding file from being
|
|
copied.
|
|
|
|
-----------------------------
|
|
Release 1.0.1521
|
|
-----------------------------
|
|
|
|
96-03-20 chetanp CMsiView class handles queries on local tables
|
|
CMsiODBCView class handles mixed queries (ODBC +
|
|
local) tables.
|
|
|
|
-----------------------------
|
|
Release 1.0.1519
|
|
-----------------------------
|
|
|
|
96-03-17 johndelo Msi.Table.NextNode method has been removed. An
|
|
argument has been added
|
|
to MsiTable.CreateCursor: Boolean, True to create a
|
|
tree-walking cursor,
|
|
False to create a normal sequential row cursor. See
|
|
Help file.
|
|
A catalog table with column definitions has been
|
|
implemented. An argument has
|
|
been added to GetCatalogTable: 0 = tables, 1 =
|
|
columns. See Help.
|
|
|
|
-----------------------------
|
|
Release 1.0.1514
|
|
-----------------------------
|
|
|
|
96-03-12 davidmck Overloaded new and delete in the Engine DLL.
|
|
|
|
96-03-12 davidmck Added support for finding the function names from an
|
|
address and offset.
|
|
Currently this is a windows only feature.
|
|
|
|
-----------------------------
|
|
Release 1.0.1512
|
|
-----------------------------
|
|
|
|
96-03-11 johndelo Add MsiDatabase.CreateTempTableName, which creates a
|
|
unique name for temporary table.
|
|
MsiData object has two properties: StringValue and
|
|
IntegerValue, the first previously had
|
|
conflicting definitions of Value and TextValue
|
|
|
|
-----------------------------
|
|
Release 1.0.1507
|
|
-----------------------------
|
|
|
|
96-03-06 johndelo All automation objects now have a set of common
|
|
methods that allow querying of the underying
|
|
COM intefaces, see Help. This is particularly
|
|
helpful when retrieving objects
|
|
from databases and records. New automation objects
|
|
can be obtained which
|
|
represent the derived object types. The properties,
|
|
HasInterface(iid) and RefCount,
|
|
and the method, GetInterface(iid), are not in the
|
|
type library as I can't figure out
|
|
how to do inheritance of a dispinterface.
|
|
|
|
96-03-06 johndelo Registration for LEGO builds has been fixed. Both
|
|
LEGO and DEBUG builds
|
|
register under a 2nd ProgId and ClassId. In addition
|
|
to Msi.Automation,
|
|
they also register under Msi.AutoDebug or
|
|
Msi.AutoLego. By registering the
|
|
ship version last (all register as Msi.Automation),
|
|
all three builds can be
|
|
run simultaneously. The default DLL names used now
|
|
support LEGO.
|
|
The non-UI tables have been updated to match the spec
|
|
in the help file.
|
|
Some of the UI tables have been changed to the new
|
|
format; the Control
|
|
and Dialog tables have been renamed, as the new
|
|
tables will be quite different.
|
|
|
|
|
|
96-03-05 johndelo MsiRecord automation of Value has been changed to
|
|
conform with MsiCursor
|
|
and to support the various data types. See Help.
|
|
Separate properties for
|
|
StringData, IntegerData, and ObjectData.
|
|
MsiCopy and IMsiCopy have been changed to MsiFileCopy
|
|
and IMsiFileCopy.
|
|
MsiData objects are now supported and documented.
|
|
|
|
|
|
-----------------------------
|
|
Release 1.0.1429
|
|
-----------------------------
|
|
|
|
96-02-28 tracyf - Fixed bugs 84 & 91 (involving working around a
|
|
Windows 95 bug
|
|
in GetDiskFreeSpace).
|
|
- Fixed up several memory leaks in the path, auto,
|
|
and services objects.
|
|
- Implemented CMsiPath::CheckLanguageIDs (Mac)
|
|
|
|
-----------------------------
|
|
Release 1.0.1427
|
|
-----------------------------
|
|
|
|
96-02-26 johndelo There is a new MsiDirectoryManager implmentation --
|
|
see help file.
|
|
The old Destination table is replaced by a simpler
|
|
Directory table.
|
|
Logging has been fixed. Minor bugs in database fixed.
|
|
|
|
96-02-26 davidmck Asserts now have three buttons -
|
|
Abort - Break to debugger
|
|
Retry - Continue
|
|
Ignore - Turn off all further asserts in this module.
|
|
|
|
96-02-26 davidmck Checked in more memory debugging features. We now
|
|
bring up assert dialogs with information about memory
|
|
leaks.
|
|
This information is also written to the log file if
|
|
logging is turned on.
|
|
Currently only the String object is hooked up to
|
|
AllocObject which provides us with greater debugging
|
|
information. I'll be turning on more objects as time
|
|
progresses.
|
|
|
|
|
|
|
|
96-02-22 tracyf More MsiPath interface functions have been
|
|
implemented:
|
|
- GetFileAttribute (Mac)
|
|
- SetFileAttribute (Mac)
|
|
- FileWritable (Mac)
|
|
The help file has been updated for all of these.
|
|
In addition, full Mac path
|
|
and filename validation has been implemented (as soon
|
|
as possible, I'm
|
|
going to update the doc for CreatePath to reflect Win
|
|
and Mac path/file
|
|
syntax restrictions).
|
|
Tests for all these functions have been added to
|
|
MsiPath.bas.
|
|
|
|
|
|
|
|
-----------------------------
|
|
Release 1.0.1422
|
|
-----------------------------
|
|
|
|
96-02-21 johndelo The makefile and make.bat now can make LEGO builds.
|
|
May not yet be in release procedure.
|
|
Property names have been justified with the Help
|
|
file. Not many are implemented yet.
|
|
Several database bugs fixed and closed.
|
|
New objects associated with engine:
|
|
MsiSelectionManager and MsiDirectoryManager.
|
|
Note the in the testdb.mdb, normal UI may be disabled
|
|
with QUIET=1.
|
|
|
|
-----------------------------
|
|
Release 1.0.1420
|
|
-----------------------------
|
|
|
|
96-02-19 tracyf Implemented (or fixed a broken implementation of)
|
|
the following MsiPath functions:
|
|
- Writable (Win & Mac)
|
|
- Exists (Mac)
|
|
- Remove (Win and Mac)
|
|
- FileExists (Win and Mac)
|
|
- FileSize (Mac)
|
|
- RemoveFile (Mac)
|
|
|
|
The documentation (help file) has been updated for
|
|
all these functions.
|
|
Test script: MsiPath.bas
|
|
|
|
|
|
96-02-19 johndelo More operators have been added to EvaluateCondition.
|
|
See Help. Evaluate.BAS has been updated.
|
|
The expEnum has been changed to iecEnum, consistent
|
|
with other exported enums.
|
|
|
|
96-02-15 ivanw Changed the return type of MsiRecord::Set* from
|
|
HRESULT to Bool.
|
|
|
|
-----------------------------
|
|
Release 1.0.1415
|
|
-----------------------------
|
|
|
|
96-02-14 johndelo Implemented EvaluateCondition in services. See Help
|
|
file for details.
|
|
First test script: Evaluate.BAS in Darwin\test. Still
|
|
more test cases to check.
|
|
|
|
96-02-14 ivanw Added the option of building the (still untested)
|
|
new UI. The default is
|
|
still the old one.
|
|
Replaced the control.h file by handler.h (the new UI
|
|
definitions).
|
|
Modified the engine so it compiles with the new
|
|
header file.
|
|
Added the automation for the new UI.
|
|
|
|
96-02-14 tracyf Implemented Mac version of GetFileVersionString:
|
|
Documentation: Help file
|
|
Automation script: VerStrM.bas (Mac), VerStrW.bas
|
|
(Win)
|
|
|
|
-----------------------------
|
|
Release 1.0.1413
|
|
-----------------------------
|
|
|
|
96-02-13 tracyf Implemented the Mac version of CheckFileVersion:
|
|
Documentation: the updated help file
|
|
Automation file: \darwin\test\FileVerM.bas
|
|
|
|
-----------------------------
|
|
Release 1.0.1413
|
|
-----------------------------
|
|
|
|
96-02-12 johndelo Command line help has been changed to show property
|
|
names with descriptions.
|
|
Old ACME command option letters are maintained for
|
|
backward compatibility.
|
|
See Help topic on Command Line Options.
|
|
Launcher properties and help descriptions can both be
|
|
set with the
|
|
LOADPROP.EXE tool. See Help topic for info.
|
|
Logging has been implemented in the engine. See Help
|
|
topics:
|
|
LOGFILE and LOGMODE properties.
|
|
The engine sequencer, Sequence, is now only to be
|
|
called by the top
|
|
leve actions, see Help topic. The DoAction command
|
|
is what is used
|
|
by the loader or automation. The 'Install' action is
|
|
the normal top level action.
|
|
The Action table has been modified slightly, see
|
|
Action table Help,
|
|
especially about termination action sequence
|
|
Properties have been added and many have been
|
|
documented. The list
|
|
of which ones are NOT implemeted yet is forthcoming.
|
|
Some small bugs in the MsiTable implementation have
|
|
been fixed, which
|
|
would occasionally cause Asserts and missed records.
|
|
|
|
|
|
96-02-10 davidmck Hooked up CMsiMalloc to CMsiServices. You will now
|
|
get asserts when leaving unfreed memory blocks
|
|
|
|
|
|
-----------------------------
|
|
Release 1.0.1408
|
|
-----------------------------
|
|
|
|
96-02-07 johndelo The low-level database engine, MsiTable and
|
|
MsiCursor is now operational
|
|
and the documentation has been completed. The tree
|
|
functionality and
|
|
persistent storage is not implemented (for Milestone
|
|
2). A very preliminary
|
|
test script DBTABLE.BAS is checked into Darwin\Test.
|
|
The function
|
|
CreateRows has been eliminate, and its arguments
|
|
integrated into the
|
|
LoadTable and CreateTable calls. The names
|
|
Get/PutObject and
|
|
Get/PutData have been changed to avoid conflicts with
|
|
macros defined
|
|
by the Win API headers. The VBA wrappers did not need
|
|
to change.
|
|
|
|
96-02-06 tracyf Three new interface functions have been implemented:
|
|
|
|
- MsiPath::CheckLanguageIDs
|
|
- MsiPath::GetLangIDStringFromFile
|
|
- MsiServices::GetLangNamesFromLangIDString
|
|
Documentation: the updated help file
|
|
Automation file: \darwin\test\language.bas
|
|
|
|
|
|
-----------------------------
|
|
Release 1.0.1406
|
|
-----------------------------
|
|
|
|
96-02-05 johndelo Reorganized help .RTF files a bit, adding
|
|
ACTIONS.RTF, and OBJECTS.RTF
|
|
(objects other than Services, Database, and Path).
|
|
Many help topics are added,
|
|
including Dev topics such as how to automate and
|
|
provide help to C++ methods
|
|
and Help file syntax. Most methods are doc'd, but
|
|
many in Services are incomplete.
|
|
|
|
The database class now makes the system catalog
|
|
accessible as an
|
|
MsiTable object, with the method GetCatalogTable.
|
|
Most MsiTable and
|
|
MsiCursor is functional and ready for test
|
|
development (but not quite ready
|
|
for bugging). Note the the OpenViewSQL method is now
|
|
gone (OpenView
|
|
now takes the SQL string).
|
|
|
|
96-02-01 johndelo The table "ViewQuery" has been removed from the
|
|
database. The SQL
|
|
queries are now the responsibilities of the actions
|
|
and controls and have
|
|
been moved into the beginning of the appropriate
|
|
source files. The old
|
|
database method OpenViewSQL will be renamed OpenView
|
|
and the
|
|
previous functionality of opening a view by name is
|
|
now gone. The VBA
|
|
automation method OpenView already requires a SQL
|
|
string.
|
|
|
|
The ODBC libraries are now dynamically loaded on
|
|
demand. Thus ODBC
|
|
support is no longer required to use or test the Msi
|
|
database functionality.
|
|
|
|
The ugly error code offsets have been removed. All
|
|
Darwin error codes
|
|
are in the range 1000 to 1999. 2000-2999 are
|
|
reserved for debug messages.
|
|
|
|
|
|
-----------------------------
|
|
Release 1.0.1401
|
|
-----------------------------
|
|
|
|
96-01-31 johndelo The database type for the MsiServices funciton
|
|
CreateDatabase has been
|
|
changed from a string to an enum, idbEnum. The enum
|
|
values are in the
|
|
type library. Check msiauto.hlp for documentation.
|
|
The low-level database code, classes IMsiTable and
|
|
IMsiCursor is in place
|
|
but not fully operational as yet. Check the help for
|
|
documentation.
|
|
|
|
-----------------------------
|
|
Release 1.0.1330
|
|
-----------------------------
|
|
|
|
96-01-29 tracyf Two new MsiPath functions have been implemented:
|
|
CheckFileVersion, and GetFileVersionString. See
|
|
the updated help file for documentation.
|
|
|
|
-----------------------------
|
|
Release 1.0.1325
|
|
-----------------------------
|
|
|
|
96-01-23 tracyf Fixed bug 64 (several problems related to calling
|
|
services.CreatePath, path.CreateCopier, and
|
|
copier.CopyTo via automation).
|
|
|
|
-----------------------------
|
|
Release 1.0.1318
|
|
-----------------------------
|
|
|
|
96-01-17 johndelo Help file now has a version that shows under the
|
|
Help Menu/Version.
|
|
Ivan added the UI database table definitions.
|
|
A first pass at the list of properties was added, but
|
|
few topics as of yet.
|
|
You will need to have MSIAUTO.CNT in the same
|
|
directory as MSIAUTO.HLP
|
|
the first time you run help in order to get the
|
|
book-tree view.
|
|
|
|
|
|
96-01-16 johndelo IMsiControl and MsiControl have been renamed to
|
|
IMsiHandler and MsiHandler.
|
|
This was necessary to use the old name as the base
|
|
for UI controls.
|
|
Note that the automation method is now
|
|
The name of the UI DLL won't change until the new
|
|
implementation is build.
|
|
|
|
Help strings for VBA browsing have been added for
|
|
some classes.
|
|
Note that the type library GUID and name have
|
|
changed: now "Installer".
|
|
Enum values have been added to the type library,
|
|
under "Constant".
|
|
These can be directly pasted into and used within the
|
|
VB code.
|
|
Only a few have been added so far... more to come.
|
|
The argument names for VBA have been changed to start
|
|
with lower case,
|
|
consistent with Excel. The use of them is still case
|
|
insensitive.
|
|
|
|
A help file is now build for Darwin, MSIAUTO.HLP.
|
|
This file currently describes
|
|
the methods as exposed to VBA. A C++ version will be
|
|
conditionally built later.
|
|
Only the auto and the database classes are doc'd yet,
|
|
more coming soon.
|
|
The database table descriptions, except UI, are
|
|
mostly there.
|
|
This help file can be run from the VBA browser "?"
|
|
button, or WINHLP32.
|
|
|
|
96-01-16 tracyf Fixed bugs: 45,47,52,57
|
|
more fixes dealing with Path object functionality.
|
|
|
|
-----------------------------
|
|
Release 1.0.1309
|
|
-----------------------------
|
|
|
|
96-01-08 tracyf Fixed bugs: 42, 43, 49, 53, 54, 55, 56, 60
|
|
All dealing with Path object functionality.
|
|
|
|
96-01-05 chetanp Added ProcessIniFile support for add/add if absent/
|
|
delete/ appendtag/ deletetag
|
|
to Services.
|
|
Transfered UpdateResource from Services to Path
|
|
object
|
|
|
|
96-01-04 johndelo Missing automation wrappers and ODL have been
|
|
implemented, as response to a series of bugs.
|
|
The IMsiRecord object is no longer limited to 32
|
|
fields, but by the amount of contiguous memory that can
|
|
be obtained.
|
|
Howerver, using more than 32 fields in a record is
|
|
not anticipated in Darwin.
|
|
Provision is also made to pass objects in records,
|
|
but the objects that can be passed are not yet
|
|
available for testing.
|
|
|
|
-----------------------------
|
|
Release 1.0.1228
|
|
-----------------------------
|
|
|
|
|
|
-----------------------------
|
|
Release 1.0.1207
|
|
-----------------------------
|
|
|
|
95-12-06 ivanw DialogControl table is eliminated. Controls are not
|
|
reuseable anymore.
|
|
All info from DialogControl is migrated to Control.
|
|
The CopyGauge flicker problem has been fixed.
|
|
|
|
95-12-05 ivanw
|
|
|
|
-----------------------------
|
|
Release 1.0.1205
|
|
-----------------------------
|
|
|
|
95-11-30 tracyf I've checked a bunch of new code into the Controll
|
|
DLL source, which brings the Mac Darwin user interface
|
|
up to an approximate par with the Win Darwin UI.
|
|
This will allow us to author fully interactive Mac
|
|
setups, and should hold us during the time that Ivan's UI
|
|
redesign is taking place.
|
|
|
|
What works:
|
|
- modal and modeless dialog windows
|
|
- pushbuttons
|
|
- sequence buttons
|
|
- radio buttons, radio button groups
|
|
- checkboxes
|
|
- static text fields
|
|
- edit text fields
|
|
- action text fields
|
|
- action data fields
|
|
- copy gauge
|
|
- most control properties
|
|
|
|
What doesn't work
|
|
- List, combo boxes (don't even try it!)
|
|
- bitmaps (bitmap controls can be authored, but an
|
|
empty frame is displayed)
|
|
- tree control (it'll be a while before we have this
|
|
for either Mac or Win)
|
|
- some control properties don't get set or read
|
|
|
|
I've also checked a new set of Arcade sample
|
|
install tables, with a demo UI authored in.
|
|
|
|
|
|
-----------------------------
|
|
Release 1.0.1116
|
|
-----------------------------
|
|
|
|
95-11-14 davidmck We should now copy the regauto.exe and msi.tlb to
|
|
the release server for releases.
|
|
|
|
|