Usually I am happy when the problem I have faced for a while appears to be
solved but when I don't know why, a bad feeling remains. The problem is this:
I use WiX 3.9 (3.9.1006.0) and I have a custom WPF bootstrapper application
which requires .Net 4 (Full version) so naturally when I try to run the
installer on a computer that does not have .Net 4 my BA fails to load and
instead the default bootstrapper for .Net 4 appears allowing me to install it.
When .Net 4 is installed I am asked to reboot my computer and after booting up
again my installation automatically resumes. So far everything is fine but in
the next step the problem occurs. I click through the steps of my installer and
when it normally starts installing the packages in the bundle chain I am
notified that the installation failed. When I checked the log afterwards I
discovered the following error(s):
[07DC:07D8][2015-06-03T13:45:55]i300: Apply begin
[0688:07A4][2015-06-03T13:45:55]i360: Creating a system restore point.
[0688:07A4][2015-06-03T13:46:00]i361: Created a system restore point.
[07DC:0BA8][2015-06-03T13:46:00]i336: Acquiring container:
WixAttachedContainer, copy from: C:\ProgramData\Package
Cache\{f2234eba-50ab-42cd-a6bf-dca86e2f3fce}\MyInstall.exe
[07DC:0BA8][2015-06-03T13:46:00]i000: Setting string variable
'WixBundleLastUsedSource' to value 'C:\ProgramData\Package
Cache\{f2234eba-50ab-42cd-a6bf-dca86e2f3fce}\'
[07DC:0BB4][2015-06-03T13:46:00]e000: Error 0x80070001: Failed to extract all
files from container, erf: 1:2:0
[07DC:0BA8][2015-06-03T13:46:00]e000: Error 0x80070001: Failed to wait for
operation complete.
[07DC:0BA8][2015-06-03T13:46:00]e000: Error 0x80070001: Failed to open
container.
[07DC:0BA8][2015-06-03T13:46:00]e000: Error 0x80070001: Failed to open
container: WixAttachedContainer.
[07DC:0BA8][2015-06-03T13:46:00]e312: Failed to extract payloads from
container: WixAttachedContainer to working path:
C:\Users\testuser\AppData\Local\Temp\{f2234eba-50ab-42cd-a6bf-dca86e2f3fce}\7B32FBD553AC13EB47FDA0D0B59B78C0FE57C7F6,
error: 0x80070001.
[07DC:07D8][2015-06-03T13:46:00]e000: Error 0x80070001: Failed while caching,
aborting execution.
[07DC:07D8][2015-06-03T13:46:00]i000: [ ApplyComplete ] Failed -2147024895
[07DC:07D8][2015-06-03T13:46:00]i399: Apply complete, result: 0x80070001,
restart: None, ba requested restart: No
[07DC:07D8][2015-06-03T13:46:03]i500: Shutting down, exit code: 0x80070001
Here is some information that may be of use to you when trying to help me:
I always use a clean Windows 7 x64 installation when testing.The bundle chain
contains the following packages:Visual C++ 2010 SP1 Redist (x86)Visual C++ 2010
SP1 Redist (x64)Msi for my product (x64, contains both 64-bit and 32-bit files)
When trying to run my installer again I can see in the new log that the
following seems to have happened during the first attempt to install:
The bundle is detected as installed. Perhaps this explains why there is an
entry for my application in the "Programs and Features" list.All of the
packages in the bundle chain are detected as absent which explains why none of
my files have been copied to the computer.
How is it possible that the bundle is considered installed when neither of its
chain packages were installed?
What I have noticed during testing is that when .Net 4 is already installed and
no reboot is required during the installation everything works fine. Also if I
cancel the installation when it is automatically resumed after the reboot
(after .Net 4 is installed) and then start the installation again, everything
works fine.
And now to what is confusing me even more... Today after rebuilding a new
installation (including BA) with no real changes that I can think of the
problem appears to be gone! I have successfully installed my application
several times under the same testing conditions as when the problem used to
occur. Something must have changed with my installer but I don't know what.
One difference I see in the logs of the failed installation and the successful
installation is:
Failed installation:
[07DC:0BA8][2015-06-03T13:46:00]i336: Acquiring container:
WixAttachedContainer, copy from: C:\ProgramData\Package
Cache\{f2234eba-50ab-42cd-a6bf-dca86e2f3fce}\MyInstall.exe
Successful installation:
[06E8:0BF4][2015-06-04T09:30:49]i336: Acquiring container:
WixAttachedContainer, copy from:
C:\Users\testuser\Desktop\MyProject\x64\MyInstall.exe
You can see that the installations are using different paths for aquiring the
container, one uses some cached location while the other uses the path to the
original installer. What could have caused this change? This is not something I
have changed intentionally.
Any ideas what could have caused the error above and what change could have
fixed it? When I have googled the error there seems to be a lot of mentioning
of the bootstrapper not being properly signed but we have never signed it in
the past and we have no certificate so I am thinking it must be something else;
especially now that it seems to be working and I have not signed anything.
I appreciate any help trying to figure out what is going on. Right now I am a
bit uncomfortable releasing the installer to our customers without knowing what
caused this problem in the first place. If you need any more information I will
do my best to provide it.
Best regards
Daniel
------------------------------------------------------------------------------
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users