So after further investigation (i.e. running the debug build and adding some
trace statements), there are 2 separate issues here:
a) Watson doesn't re-install cleanly in 100% of cases
b) The setup bootstrapper is working like it probably should, i.e. in the
DetectMsi() function, the action is being determined to be NONE, since each
.msi inside the package is already installed, same major version, same minor
version. So it's probably fine, except that it would be good if there was
feedback to say none of the msi's contained within it needed to be executed.
Recommended action: we modify the standard bootstrapper in setupexe.cpp to pop
up a message box to say that no work needs to be done as everything is already
installed, rather than exiting silently.
Alec
Ps something I noticed, our internal Microsoft share of the source code for
wix3 seems to be missing the code for dutil which is present in the publicly
available version. Was wondering why it wouldn't build initially J.
From: Rob Mensching
Sent: Thursday, May 17, 2007 6:32 PM
To: Alec Siu; wix-users@lists.sourceforge.net
Cc: Jon LeCroy; Margaret Rottsolk
Subject: RE: WiX v3 setupbld.exe question
1. You can run a debug build (have to build it yourself) and see some things
dumped to the debug console.
2. Also, it was pointed out to me that the name in the cached scenario is
actually the "ProductCodevVersion.msi" not the name of the MSI you originally
built. That might be causing you problems.
3. New chainer probably won't be realistically interesting for 4 - 6 months
for shipping code. There is a lot of new stuff in there and I hope to have
drops in the next month (but I thought I'd have enough code working by now and
that hasn't work out.. real life... blah, blah, blah).
From: Alec Siu
Sent: Thursday, May 17, 2007 2:31 PM
To: Rob Mensching; wix-users@lists.sourceforge.net
Cc: Jon LeCroy; Margaret Rottsolk
Subject: RE: WiX v3 setupbld.exe question
Thanks Rob for the info; I tried using -mc in the parameters to setupbld.exe to
enable caching but to no avail. Actually I enabled global MSI logging with the
regkey HKLM\Software\Policies\Microsoft\Windows\Installer\Logging, and it
doesn't seem as though the first MSI is being invoked at all (if the absence of
a log file is a reliable indication).
Is there a way to enable debugging spew to see what the chainer/setup stub is
doing? And do you have an estimate of when a future chainer might be released?
Thanks much,
Alec
From: Rob Mensching
Sent: Thursday, May 17, 2007 11:34 AM
To: Alec Siu; wix-users@lists.sourceforge.net
Cc: Jon LeCroy; Margaret Rottsolk
Subject: RE: WiX v3 setupbld.exe question
Yeah, in the current setup.exe in the WiX toolset, if you don't specify to
cache the MSI then the original path is going to be random. The future chainer
will have better behavior.
From: Alec Siu
Sent: Wednesday, May 16, 2007 4:26 PM
To: Rob Mensching; wix-users@lists.sourceforge.net
Cc: Jon LeCroy; Margaret Rottsolk
Subject: RE: WiX v3 setupbld.exe question
Hi Rob,
Copying and pasting from an e-mail from Carolyn Napier who had a look at our
logs relating to this issue:
----8< ----
Error 1316. A network error occurred while attempting to read from the file:
C:\EHS\alec\dev\CTEB.tmp
MSI (s) (F0:14) [14:19:26:471]: Note: 1: 2205 2: 3: Error
MSI (s) (F0:14) [14:19:26:471]: Note: 1: 2228 2: 3: Error 4: SELECT `Message`
FROM `Error` WHERE `Error` = 1709
MSI (s) (F0:14) [14:19:26:471]: Product: Microsoft Application Error Reporting
-- Error 1316. A network error occurred while attempting to read from the file:
C:\EHS\alec\dev\CTEB.tmp
Action ended 14:19:26: PublishProduct. Return value 3.
Per MSDN documentation, you cannot change the filename of the MSI package file
in small/minor updates. This product is already installed. Does your chainer
extract to a temporary file name and install in that manner? My guess as to
the common cause of this error in this situation is that the prior install was
done using the MSI file called CTEB.tmp and now you're trying to do the install
from a new location but with a different filename.
MSI (c) (08:80) [14:19:23:440]: ******* RunEngine:
******* Product: dw20sharedamd64.msi
******* Action:
******* CommandLine: **********
And this is further evidenced in the log file:
MSI (c) (08:80) [14:19:23:487]: Product registered: entering maintenance mode
MSI (c) (08:80) [14:19:23:487]: PROPERTY CHANGE: Adding ProductState property.
Its value is '5'.
MSI (c) (08:80) [14:19:23:487]: PROPERTY CHANGE: Adding ProductToBeRegistered
property. Its value is '1'.
MSI (c) (08:80) [14:19:23:487]: Entering
CMsiConfigurationManager::SetLastUsedSource.
MSI (c) (08:80) [14:19:23:487]: Specifed source is not already in a list.
MSI (c) (08:80) [14:19:23:487]: User policy value 'SearchOrder' is 'nmu'
MSI (c) (08:80) [14:19:23:487]: Machine policy value 'DisableBrowse' is 0
MSI (c) (08:80) [14:19:23:487]: Machine policy value 'AllowLockdownBrowse' is 0
MSI (c) (08:80) [14:19:23:487]: Adding new sources is allowed.
MSI (c) (08:80) [14:19:23:487]: Package name retrieved from configuration data:
'CTEB.tmp'
You need to ensure that the filenames stay the same. Yes, it's a known
limitation given that sources are validated using the filename and the package
code. The filename is considered an integral part.
---- >8----
So this is starting to make sense, the chainer is extracting to some randomized
filename and calling msiexec on the temp file, so that the next time we run our
setup.exe, it fails because Windows Installer recognizes the already-installed
product and tries to re-read the original extracted (temporary) MSI, which has
been of course by now deleted.
Does this explanation sound feasible to you? Would there be ways to get around
this and/or confirm this theory?
Alec
From: Rob Mensching
Sent: Friday, May 04, 2007 11:03 AM
To: Jon LeCroy; Alec Siu; wix-users@lists.sourceforge.net
Subject: RE: WiX v3 setupbld.exe question
Ahh, dude, your MSI (it does look like it is running the already installed
version) is accessing that file for some reason and can't find it. Can't
decipher much more than that from the log file.
From: Jon LeCroy
Sent: Friday, May 04, 2007 10:33 AM
To: Rob Mensching; Alec Siu; wix-users@lists.sourceforge.net
Subject: RE: WiX v3 setupbld.exe question
It doesn't crash, but it does present this error: Error 1316. A network error
occurred while attempting to read from the file: C:\EHS\alec\dev\CTEB.tmp
Note - this is running locally. Log attached.
From: Rob Mensching
Sent: Friday, May 04, 2007 10:19 AM
To: Alec Siu; wix-users@lists.sourceforge.net
Cc: Jon LeCroy
Subject: RE: WiX v3 setupbld.exe question
What do you mean by the install "crashes with an error message"? Installations
shouldn't crash. They may error out but crashing is a really scary thing.
The best thing is to get the logging registry key set to get a log file for the
A.msi.
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Alec Siu
Sent: Thursday, May 03, 2007 1:57 PM
To: wix-users@lists.sourceforge.net
Cc: Jon LeCroy
Subject: [WiX-users] WiX v3 setupbld.exe question
Hi All,
We're using setupbld.exe to chain two MSIs together (the first one say A.msi
spec'ed with -mu, the second B.msi with -mus). This works fine, except we're
testing the scenario where the user might try and run the setup.exe more than
once.
B.msi has some code to detect and prevent re-installations, but A.msi (which is
3rd party) does not. When I run A.msi by itself, it crashes with an error
message, so it seems that the combined .exe version is suppressing this. I
tried re-specing with -mus for A.msi as well in order to show any embedded UI
it might have, but again it fails silently. I tried turning on global MSI
logging via the registry
(HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\windows\Installer\Logging =
voicewarmupx!) but it doesn't show up there either...
Is there a way to debug this combined setup.exe (to confirm that this is in
fact what's causing the problem) or is this a known limitation?
Thanks,
Alec
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users