I have developed one project and in that "Microsoft.Access.Database.Engine.2010"
and "Crystal Reports for .NET Framework 4.0" are two Prerequisites of my project.
I have added "product.xml" file with both of them which will check
if they are not installed then installed it
and if it was installed then skip that particular Prerequisite setup.
Now lest see "Microsoft.Access.Database.Engine.2010"
i am trying install my setup and every time it is installing "Microsoft.Access.Database.Engine.2010"
I have check the log file and found that it is unable to read registry key.'
I am trying install it on windows 10 64 bit.
Log file
Running checks for package 'Microsoft Access Database Engine 2010 (x86 and x64)', phase BuildList
Reading value 'Path' of registry key 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\InstallRoot'
Unable to read registry value
Not setting value for property 'AccessDatabaseEngine'
Reading value 'Path' of registry key 'HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Common\InstallRoot'
Unable to read registry value
Not setting value for property 'AccessDatabaseEngine_x64'
The following properties have been set for package 'Microsoft Access Database Engine 2010 (x86 and x64)':
Running checks for command 'Microsoft Access Database Engine 2010\AccessDatabaseEngine.exe'
Result of running operator 'ValueNotEqualTo' on property 'ProcessorArchitecture' and value 'Intel': true
Result of checks for command 'Microsoft Access Database Engine 2010\AccessDatabaseEngine.exe' is 'Bypass'
Running checks for command 'Microsoft Access Database Engine 2010\AccessDatabaseEngine_x64.exe'
Result of running operator 'ValueNotEqualTo' on property 'ProcessorArchitecture' and value 'AMD64': false
Skipping ByPassIf because Property 'IsInstalled' was not defined
Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
Skipping FailIf because Property 'Version9x' was not defined
Result of running operator 'VersionLessThan' on property 'VersionNT' and value '5.00': false
Result of checks for command 'Microsoft Access Database Engine 2010\AccessDatabaseEngine_x64.exe' is 'Install'
'Microsoft Access Database Engine 2010 (x86 and x64)' RunCheck result: Install Needed
What I have tried:
="1.0"="utf-8"
<Product ProductCode="Microsoft.Access.Database.Engine.2010"
xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper">
<PackageFiles CopyAllPackageFiles="true">
<PackageFile Name="AccessDatabaseEngine.exe"
HomeSite="https://download.microsoft.com/download/3/5/C/35C84C36-661A-44E6-9324-8786B8DBE231/AccessDatabaseEngine.exe" />
<PackageFile Name="AccessDatabaseEngine_x64.exe"
HomeSite="https://download.microsoft.com/download/3/5/C/35C84C36-661A-44E6-9324-8786B8DBE231/AccessDatabaseEngine_X64.exe" />
</PackageFiles>
<RelatedProducts>
<DependsOnProduct Code="Microsoft.Net.Framework.2.0" />
</RelatedProducts>
<InstallChecks>
<RegistryCheck Property="AccessDatabaseEngine" Key="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\InstallRoot" Value="Path" />
<RegistryCheck Property="AccessDatabaseEngine_x64" Key="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Common\InstallRoot" Value="Path" />
</InstallChecks>
<Commands>
<Command PackageFile="AccessDatabaseEngine.exe"
Arguments='/passive'>
<InstallConditions>
<BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="Intel"/>
<BypassIf Property="IsInstalled" Compare="ValueGreaterThan" Value="0" />
<FailIf Property="Version9x" Compare="VersionLessThan" Value="4.10" String="InvalidPlatformWin9x"/>
<FailIf Property="VersionNT" Compare="VersionLessThan" Value="5.00" String="InvalidPlatformWinNT"/>
</InstallConditions>
<ExitCodes>
<ExitCode Value="0" Result="Success"/>
<ExitCode Value="1641" Result="SuccessReboot"/>
<ExitCode Value="3010" Result="SuccessReboot"/>
<DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
</ExitCodes>
</Command>
<Command PackageFile="AccessDatabaseEngine_x64.exe"
Arguments='/passive'>
<InstallConditions>
<BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="AMD64"/>
<BypassIf Property="IsInstalled" Compare="ValueGreaterThan" Value="0" />
<FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired"/>
<FailIf Property="Version9x" Compare="VersionLessThan" Value="4.10" String="InvalidPlatformWin9x"/>
<FailIf Property="VersionNT" Compare="VersionLessThan" Value="5.00" String="InvalidPlatformWinNT"/>
</InstallConditions>
<ExitCodes>
<ExitCode Value="0" Result="Success"/>
<ExitCode Value="1641" Result="SuccessReboot"/>
<ExitCode Value="3010" Result="SuccessReboot"/>
<DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
</ExitCodes>
</Command>
</Commands>
</Product>