Windows Develop Bookmark and Share   
 index > ClickOnce and Setup & Deployment Projects > Problem With Deployment
 

Problem With Deployment

I tried to deploy a VB 2008 application using ClickOnce but I ran into a snag that I can't get past. Initially, the program used an Access 2007 database, which I included in the ClickOnce Applications. Visual Studio is on my Vista laptop with Framewlrk 3.5 and it runs fine. However, when I try to install it on my XP desktop, I'm having problems.

First, Framework 3.5 downloaded fine, and I assume that's okay. However as soon as the program loads, I get a dialog saying an 'Unhandled exception has occurred in your application.......The "Microsoft ACE OLEDB 12.0" provider is not registered on the local machine.

I did some research and it appeared that the computerdidn't have Office 2007 drivers, so I included AccessDatabaseEngine.exe also. However, even after including this I kept getting the same message. Finally, saved my databases in 2003 format with the .mdb name. I then went through my entire code and pulled all references to Provider=Microsoft.ACE.OLEDB.12.0;Data Source= and replaced it with Provider=Microsoft.Jet.OLEDB.4.0;Data Source=. Despite this, I'm still getting the same error after deployment, and at this point I don't know what else to do.

Thank you in advance!
rolenta  Thursday, June 11, 2009 5:01 AM

I suspect youneed to provide some kind of drivers (Jet for Access? Is that still around) and install them in the GAC. Not all dll's can be included locally to the deployment and work; some really do have to be installed in the GAC.

So you need to find a redistributable or installation package for what's missing (mdac components?).
Then you can use the Bootstrapper Manifest Generator to add it to the prerequisite list in Visual Studio.
And then you can deploy it as a prerequisite, and it will install prior to the ClickOnce application.

post from Guyer about his BMG
http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/92d68fc3-3c00-4435-9d45-f781aad89ad1

Instructions on using it:
http://jcrawfor74.wordpress.com/2008/02/27/bootstrap-manifest-generator-how-to-custom-pre-requisites/

RobinDotNet


Click here to visit my ClickOnce blog!
RobinDotNet  Thursday, June 11, 2009 6:40 AM
Sorry for the late response. I simply changed to an Access 2003 database and that cleared up my problems
rolenta  Thursday, July 09, 2009 4:10 PM

I suspect youneed to provide some kind of drivers (Jet for Access? Is that still around) and install them in the GAC. Not all dll's can be included locally to the deployment and work; some really do have to be installed in the GAC.

So you need to find a redistributable or installation package for what's missing (mdac components?).
Then you can use the Bootstrapper Manifest Generator to add it to the prerequisite list in Visual Studio.
And then you can deploy it as a prerequisite, and it will install prior to the ClickOnce application.

post from Guyer about his BMG
http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/92d68fc3-3c00-4435-9d45-f781aad89ad1

Instructions on using it:
http://jcrawfor74.wordpress.com/2008/02/27/bootstrap-manifest-generator-how-to-custom-pre-requisites/

RobinDotNet


Click here to visit my ClickOnce blog!
RobinDotNet  Thursday, June 11, 2009 6:40 AM
The machine that I'm trying to install the new application on already has an old VB6 version running on it, already using the same databases, so the drivers are already installed.

Also, the issue appears to be the drivers for Office 7. But I have removed all references to my Access 2007 database from the project and replaced it with an Access 2003 database. Yet the ACE OLEDB 12 message still appears.

By the way, I just tried the installation at work which is also an XP machine running Office 2003. I got an error message saying it couldn't find the database. SO I suspect that the message I'm getting on my home machine is from something that's sitting in my machine from one of my prior attempts at deployment, but I don't know what it is or how to get rid of it.
rolenta  Thursday, June 11, 2009 12:16 PM

Hi rolenta,

I think you need to follow RobinDotNet’s advice at first, which means add AccessDatabaseEngine.exe to the prerequisite.

If you wanted to find out whether your program depends on Access 2007, you can move your solution to a new machine where Access 2007 is not installed. You can test whether it works on the new machine. If it does not work, you can debug the program to trace the errors and remove the codes which depends on Accesss 2007.

Let me know if this helps.

Aland Li
Please mark the replies as answers if they help and unmark if they don't. This can be beneficial to other community members reading the thread.
Aland Li  Tuesday, June 16, 2009 5:06 AM
Sorry for the late response. I simply changed to an Access 2003 database and that cleared up my problems
rolenta  Thursday, July 09, 2009 4:10 PM

You can use google to search for other answers

Custom Search

More Threads

• Any experiences deploying .Net 3.5 as a prerequisite?
• Adding additional files in a ClickOnce deployment
• Allow the user to run the program after installation in the deployment project
• Installer Invoked on Initial execution of application
• Bootstrapper builds wrong setup
• ClickOnce Deployment Fails to Load Library after Impersonation
• Signing application that includes controls developed by another
• Remove files after installation
• Building deployment project from command line
• Get parent window from Custom Action