none
Application can no longer automatically install accessdatabaseengine.exe RRS feed

  • Question

  • I have an application installed with clickonce.
    Clickonce checks whether accessdatabaseengine.exe is installed and if not installs it from the Microsoft server.
    It's been working fine for a couple of years at least however it's started throwing an error when the application tries to install the accessdatabaseengine the error is:
    ---------------------------
    Error
    ---------------------------
    Setup has detected that the file 'C:\Users\ADMIN\AppData\Local\Temp\VSD2D14.tmp\MSAccessDBEng2010\AccessDatabaseEngine.exe' has changed since it was initially published. Click OK to retry the download, or Cancel to exit setup.
    ---------------------------
    OK   Cancel  
    ---------------------------

    I can install manually from Microsoft's download page without a problem.
    https://www.microsoft.com/en-US/download/details.aspx?id=13255

    It is the 32 bit version that hast to be downloaded.

    In the publish page the pre-requisites are set to download from the vendors website ie Microsoft.

    I had loads of problems getting the bootstrapper for the accessatabaseenegine working, so that may be the problem but why it should stop working after all these years I don't know.

    So I don't know what has changed. Anyone come across this recently?

    Cheers

    Andy

    Product and package file below.

    <?xml version="1.0" encoding="utf-8" ?>


    Product.

    <Product
      xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
      ProductCode="Access.Database.Engine.2010"
    >
      <!-- Defines list of files to be copied on build -->
      <PackageFiles CopyAllPackageFiles="false">
        <PackageFile Name="AccessDatabaseEngine.exe" HomeSite="http://download.microsoft.com/download/2/4/3/24375141-E08D-4803-AB0E-10F2E3A07AAA/AccessDatabaseEngine.exe" />
        <PackageFile Name="AccessDatabaseEngine_x64.exe" HomeSite="http://download.microsoft.com/download/2/4/3/24375141-E08D-4803-AB0E-10F2E3A07AAA/AccessDatabaseEngine_x64.exe" />
      </PackageFiles>
      <RelatedProducts>
      
      </RelatedProducts>
      <InstallChecks>
                <MsiProductCheck Property="IsInstalled"
                    Product="{90140000-00D1-0409-0000-0000000FF1CE}"/>
      </InstallChecks>
      <Commands>
        <Command PackageFile="AccessDatabaseEngine.exe"
             Arguments='/passive'>
          <!-- These checks determine whether the package is to be installed -->
          <InstallConditions>
        <!-- ByPass if we have installed -->
            <BypassIf Property="IsInstalled" Compare="ValueGreaterThan" Value="0" />
            <!-- Block install if user does not have admin privileges -->
            <FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired"/>
            <!-- Block install on Win95 -->
            <FailIf Property="Version9x" Compare="VersionLessThan" Value="4.10" String="InvalidPlatformWin9x"/>
            <!-- Block install on NT 4 or less -->
            <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>

    Package

    <?xml version="1.0" encoding="utf-8" ?>
    <Package
      xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
      Name="DisplayName"
      Culture="Culture"
      LicenseAgreement="license.txt"
    >
      <PackageFiles>
        <PackageFile Name="license.txt"/>
      </PackageFiles>
      <!-- Defines a localizable string table for error messages and url's  -->
      <Strings>
        <String Name="DisplayName">Microsoft Access database engine 2010 (x86, x64)</String>
        <String Name="Culture">en</String>
        <String Name="DotNetFxRequired">Installation of Microsoft Access database engine 2010 requires Microsoft .NET Framework 2.0. Contact your application vendor.</String>
        <String Name="InvalidPlatformWin9x">Installation of Microsoft Access database engine 2010 is not supported on Windows 95. Contact your application vendor.</String>
        <String Name="InvalidPlatformWinNT">Installation of Microsoft Access database engine 2010 is not supported on Windows NT 4.0. Contact your application vendor.</String>
        <String Name="GeneralFailure">A fatal error occurred during the installation of Microsoft Access database engine 2010.</String>
        <String Name="AdminRequired">You do not have the permissions required to install this application.  Please contact your administrator.</String>
      </Strings>
    </Package>

     
    Wednesday, January 22, 2020 9:02 AM

Answers

  • Ok, I think I know what the problem is.
    My Access bootstrapper files are in a folder :
    C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages\MSAccessDBEng2010

    When I publish, the name in the publish folder changes to msaccessdbeng2010

    It seems the installer is case sensitive and goes looking for MSAccessDBEng2010 and can't find it, thus throwing the error.

    There are a number of pre-installed packages for the various frameworks ie DotNetFX45. Is there any setting that can prevent publish from changing the directory names to lower case.

    I've got it working by manually changing the directory names in the publish folder.

    Tuesday, January 28, 2020 9:54 PM

All replies

  • Hi AndyNakamura,
    >>I had loads of problems getting the bootstrapper for the accessatabaseenegine working.
    Based on your description, could you explain in details what problems you had?
    To handel the issue, you can refer to following suggestions.
    1.You can try to delete the cache on your computer and reinstall it.
    2.You can use the bootstrapper manifest generator to create the XML package information needed to make the accessdatabaseengine.exe into a prerequisite package.
    Then you can select from the Project/Properties/Publish/Prerequisites dialog.
    More detalis you can refer to these document.
    [Creating Bootstrapper Packages]
    [How to: Install Prerequisites with a ClickOnce Application]
    [Product and Package Schema Reference]
    Here is a similar issue you can refer to.
    [C# Programmatically install Microsoft Access Database engine if installed]
    Best Regards,
    Daniel Zhang



    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Thursday, January 23, 2020 3:07 AM
  • Well, it's years ago since I had to work on the bootstrapper and it's been working fine for at least 4 years at least.

    I guess the information in the product.xml file has become out of date causing the error as shown above.

    This issue now occurs on every computer I have tried, including a brand new Dell, so I don't thing clearing the cache will help.

    How do I find the correct address for the download ie the 'HomeSite' below?

    <PackageFile Name="AccessDatabaseEngine.exe" HomeSite="http://download.microsoft.com/download/2/4/3/24375141-E08D-4803-AB0E-10F2E3A07AAA/AccessDatabaseEngine.exe" />

    and the Install check part below

    <InstallChecks>
                <MsiProductCheck Property="IsInstalled"
                    Product="{90140000-00D1-0409-0000-0000000FF1CE}"/>
      </InstallChecks>

    As it is possible to install the AccessDatabaseEngine from microsoft's website or by downloading the redistributable, then there must be an error in the package.xml file

    The 'Bootstrapper manifest generator' does not seem to exist anymore (and hasn't for years). I couldn't find it when I was originally trying to do this.

    If you know where it is please let me know.

    Thursday, January 23, 2020 8:09 AM
  • Hi Daniel,
    I've had the bootstrapper files for AccessDatabaseEngine.exe for a while and select it from the pre-requisites tab on the publishing page. 
    I set the prerequisites to download from the component vendors website (ie Microsoft) and normally everything works fine. If AccessDatabaseEngine does not exist on the users computer it gets installed.

    It's just recently I've discovered that this error is been generated during the AccessDatabaseEngine installation.

    I've done some more searching and found that this type of error is quite common but not just for accessdatabaseengine.

    Lot's of questions asked but not many answers.

    How do I go about deleting the cache on my computer?

    Thanks

    Andy

    Thursday, January 23, 2020 5:48 PM
  • Ok, I think I know what the problem is.
    My Access bootstrapper files are in a folder :
    C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages\MSAccessDBEng2010

    When I publish, the name in the publish folder changes to msaccessdbeng2010

    It seems the installer is case sensitive and goes looking for MSAccessDBEng2010 and can't find it, thus throwing the error.

    There are a number of pre-installed packages for the various frameworks ie DotNetFX45. Is there any setting that can prevent publish from changing the directory names to lower case.

    I've got it working by manually changing the directory names in the publish folder.

    Tuesday, January 28, 2020 9:54 PM
  • Hi AndyNakamura,
    I am glad you have got your solution. We appreciated you shared us your solution. And we also hope you can mark it as an answer. By marking a post as Answered, you help others find the answer faster.
    Best Regards,
    Daniel Zhang


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Thursday, February 6, 2020 6:04 AM