Re: ClickOnce/Bootstrapper: WinVerifyTrust failing on some Windows 9x machines
- From: "Gabriel Michaud" <gmichaud@xxxxxxxxxxxxxxxxx>
- Date: Wed, 14 Jun 2006 10:13:26 -0400
You are right about Windows Installer 3.0. The computer is running Windows Installer 2.00.2600.2.
I am well aware that the Platform SDK states that this works only on Windows 2000 and over, but I have not found anything that states that the bootstrapper will not work on Windows 98. In fact it works perfectly on most Windows 98 and Windows ME computers. The setup bootstrapper is a component of the .NET framework 2.0 and always call WinVerifyTrust on all prerequisites before installing, no matter what the underlying platform is.
Also, here's an excerpt from MSDN Magazine (http://msdn.microsoft.com/msdnmag/issues/04/10/Bootstrapper/):
"Minimal platform requirements Since the purpose of the Bootstrapper is to easily pre-install application dependencies, it is essential that it have few, if any, dependencies itself. The only hard dependency the Bootstrapper has is the C runtime, which is embedded in the Bootstrapper executable through static linking and therefore does not require a separate installation. The Bootstrapper will load other Windows® DLLs such as msi.dll to perform Windows Installer application code checking, and Wintrust.dll to verify component signatures. These DLLs, however, come pre-installed with Windows 98 and higher."
The problem is either that the setup bootstrapper should not call WinVerifyTrust on Win98/WinME, or that there is a particular issue (and I'd like to know what it is) on some computers with this API.
For your information, here is the log created by the bootstrapper. You can clearly see that WinVerifyTrust is getting called correctly and returns 0 (success) for every file except the MSI file (which is properly signed). We're testing in VMware using a clean Windows 98 SE install with Internet Explorer 6.0:
Setup: Initializing Initialize UI
Looking for font: MS Shell Dlg
Found font: MS Shell Dlg
Looking for font: MS Shell Dlg
Found font: MS Shell Dlg
Setup: Initializing the Application
Setup: Initializing Install Engine
InstallEngine: Setting property ProcessorArchitecture=Intel
InstallEngine: Setting property Version9x=4.10
InstallEngine: Setting property AdminUser=true
Setup: Initializing Install UI
Looking for font: MS Shell Dlg
Found font: MS Shell Dlg
Looking for font: MS Shell Dlg
Found font: MS Shell Dlg
Package: Running checks for package 'Microsoft Data Access Components 2.8', phase 1
RegistryCheck: Reading value 'FullInstallVer' of registry key 'HKLM\Software\Microsoft\DataAccess'
RegistryCheck: Read string value '2.80.1022.3'
Package: Microsoft Data Access Components 2.8 RunCheck result: 1
Package: Running checks for package '.NET Framework 1.1', phase 1
AssemblyCheck: Could not Create AssemblyName
RegistryCheck: Reading value 'Version' of registry key 'HKLM\Software\Microsoft\Internet Explorer'
RegistryCheck: Read string value '6.0.2800.1106'
Package: .NET Framework 1.1 RunCheck result: 2
Package: Running checks for package 'Dynacom Windows Component Update', phase 1
MsiProductCheck: Running MsiProductCheck with ProductCode '{0EFDBD7A-B09A-4E26-8784-1B293346E0C8}'
MsiProductCheck: MsiQueryProductState returned '-1'
Package: Dynacom Windows Component Update RunCheck result: 2
Setup: Getting package count
Setup: Package count = 2
Looking for font: MS Shell Dlg
Found font: MS Shell Dlg
Looking for font: MS Shell Dlg
Found font: MS Shell Dlg
Setup: Copying files to temporary directory "C:\WINDOWS\TEMP\VSD51B4.TMP\"
FileManager: Getting 'dotnetfx 1.1\dotnetfx.exe' from file map
FileManager: Getting 'dotnetfx 1.1\dotnetfx.exe' from file map
FileManager: Copying from 'C:\PROGRAM FILES\DYNACOM TECHNOLOGIES, INC\SETUP\dotnetfx 1.1\dotnetfx.exe' to 'C:\WINDOWS\TEMP\VSD51B4.TMP\dotnetfx 1.1\dotnetfx.exe'
FileManager: Getting 'DynacomWCU\wcu.msi' from file map
FileManager: Getting 'DynacomWCU\wcu.msi' from file map
FileManager: Copying from 'C:\PROGRAM FILES\DYNACOM TECHNOLOGIES, INC\SETUP\DynacomWCU\wcu.msi' to 'C:\WINDOWS\TEMP\VSD51B4.TMP\DynacomWCU\wcu.msi'
FileManager: Getting 'dotnetfx 1.1\dotnetfx.exe' from file map
FileManager: Getting 'DynacomWCU\wcu.msi' from file map
InstallEngine: Beginning install with package 0
Package: Running checks for package '.NET Framework 1.1', phase 2
AssemblyCheck: Could not Create AssemblyName
RegistryCheck: Reading value 'Version' of registry key 'HKLM\Software\Microsoft\Internet Explorer'
RegistryCheck: Read string value '6.0.2800.1106'
Package: .NET Framework 1.1 RunCheck result: 2
FileManager: Getting 'dotnetfx 1.1\dotnetfx.exe' from file map
Wintrust: WinVerifyTrust returned 0
WinTrust: File trusted
Command: Installing using command line '"C:\WINDOWS\TEMP\VSD51B4.TMP\dotnetfx 1.1\dotnetfx.exe" /q:a /c:"install /l /q"'
Command: Process exited with code 0
Package: Running checks for package '.NET Framework 1.1', phase 4
AssemblyCheck: Could not Create AssemblyName
RegistryCheck: Reading value 'Version' of registry key 'HKLM\Software\Microsoft\Internet Explorer'
RegistryCheck: Read string value '6.0.2800.1106'
Package: .NET Framework 1.1 RunCheck result: 2
Package: Running checks for package 'Dynacom Windows Component Update', phase 2
MsiProductCheck: Running MsiProductCheck with ProductCode '{0EFDBD7A-B09A-4E26-8784-1B293346E0C8}'
MsiProductCheck: MsiQueryProductState returned '-1'
Package: Dynacom Windows Component Update RunCheck result: 2
FileManager: Getting 'DynacomWCU\wcu.msi' from file map
Wintrust: WinVerifyTrust returned -2146762749
WinTrust: File not trusted
Error: Setup has detected that the publisher of file 'C:\WINDOWS\TEMP\VSD51B4.TMP\DynacomWCU\wcu.msi' cannot be verified.
In the meantime, I was able to patch the bootstrapper engine (setup.bin) so that it ignores the return code of WinVerifyTrust.
Gabriel
""Gary Chang[MSFT]"" <v-garych@xxxxxxxxxxxxxxxxxxxx> wrote in message news:mc45BG2jGHA.4948@xxxxxxxxxxxxxxxxxxxxxxxx
Hi Gabriel,
Computers encountering this problem are already
running Windows Installer 3.0. wintrust.dll is also
installed and the version is correct.
Do you mean the Windows ME or Windows 98 machines has already installed the
Windows Installer 3.0?
However the Windows Installer 3.0 cannot be deployed to the Windows systems
below Windows 2000.
I would also like to mention that the WinVerifyTrust
check is failing only for MSI files - the bootstrapper
is able to check EXE as well as install the .NET
framework 2.0 before failing on a MSI file.
I don't think so. You know the bootstrapper itself also will also launch an
msi installation package to install the .NET Framework. (The msi file is
contained in the redistributable's exe file).
By the way, I also check the WinVerifyTrust API in the PSDK documentation,
it requires Windows Vista, Windows XP, Windows 2000 Professional, or
Windows NT Workstation 4.0. So the root cause of this problem should be
the Windows ME or Windows 98 doesn't support this function:
WinVerifyTrust
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/seccrypto/s
ecurity/winverifytrust.asp
Thanks!
Best regards,
Gary Chang
Microsoft Online Community Support
==================================================
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
.
- Follow-Ups:
- Re: ClickOnce/Bootstrapper: WinVerifyTrust failing on some Windows 9x machines
- From: "Gary Chang[MSFT]"
- Re: ClickOnce/Bootstrapper: WinVerifyTrust failing on some Windows 9x machines
- References:
- ClickOnce/Bootstrapper: WinVerifyTrust failing on some Windows 9x machines
- From: Gabriel Michaud
- RE: ClickOnce/Bootstrapper: WinVerifyTrust failing on some Windows 9x machines
- From: "Gary Chang[MSFT]"
- Re: ClickOnce/Bootstrapper: WinVerifyTrust failing on some Windows 9x machines
- From: Gabriel Michaud
- Re: ClickOnce/Bootstrapper: WinVerifyTrust failing on some Windows 9x machines
- From: "Gary Chang[MSFT]"
- ClickOnce/Bootstrapper: WinVerifyTrust failing on some Windows 9x machines
- Prev by Date: RE: Forwarding Link to MDAC 2.8 download on go.microsoft.com
- Next by Date: Re: VS 2003 - Auto launch app on installation complete
- Previous by thread: Re: ClickOnce/Bootstrapper: WinVerifyTrust failing on some Windows 9x machines
- Next by thread: Re: ClickOnce/Bootstrapper: WinVerifyTrust failing on some Windows 9x machines
- Index(es):
Relevant Pages
|