Jump to content

Criar Setup de um programa com access


Paulo_Rocha
 Share

Recommended Posts

Boas pessoal,

Já consegui criar um setup de um programa com access com o ficheiro junto ao programa, mas tenho um problema que é,

ao instalar o meu programa num pc sem access dá erro.

Eu tenho o meu programa com uma imagem das tabelas que preciso de uma base de dados que está no servidor na rede.

A questão é existe a possibilidade de juntamente com o instalador colocar algum ficheiro que ponha o programa a rular num pc sem o access.

Cumprimentos

Paulo Rocha

Link to comment
Share on other sites

Ainda tenho problemas, já instalei o AccessDatabaseEngine, e alias o ultimo pc em que instalei até tinha o access instalado.

E não entra. Eu tenhu um TRY / CATCH para abrir a Conecção com a base de dados e salta-me sempre para o catch.

Será que tem a ver com o .net Framework k está no pc em que instalo?

Alias eu estou a programar num pc com o xp. e estou a instalar num pc com windows 7. e quando vou a instalar ele pede-me o .net framework 3.5.

Link to comment
Share on other sites

Boas CCrespo,

é w7 de 64bits. Tem o access instalado o 2007, tem o .net framework 4.

Já instalei também para garantir o Access data base engine.

No meu pc que é um xp com o access 2007 e com o framework 3.5, funciona bem.

E já instalei também noutro pc com xp também com o access 2007 e com o framework 3.5 e também funcionou bem 🙂

Já testei o que tem no post e não funciona 🙂 Tou lixado 🙂

A mensagem de erro que dá é a seguinte. Não ligue ao inicio Palavra pass errada é uma string que imprimo também.

img.png

xiiiiiiiiiiiii desculpem coloquei uma imagem pensava que dava 🙂

Edited by softklin
Corrigida a imagem
Link to comment
Share on other sites

Espero não dizer um grande disparate, não utilizo access com .Net, mas penso que o problema é o seguinte:

A Microsoft não disponibiliza uma versão de 64 bits do motor Jet, apenas 32 bits. O resultado é que uma aplicação ao ser executada em 64 bits vai falhar por não conseguir estabelecer a ligação à base de dados.

Experimenta compilar a aplicação em modo x86 (assumo que como estás a compilar num xp será de 32 bits) e não em modo anycpu e experimenta se já consegues executá-la no W7 de 64 bits.

Nota que ao compilares a aplicação as anycpu ela vai ser executada como 32 bits ou 64 bits dependendo do sistema onde está a ser executada, não do sistema onde foi compilada (para + info ve este post: http://sedodream.com/2009/08/21/MSBuildBuilding64BitVersus32Bit.aspx.

Edited by CCrespo
Link to comment
Share on other sites

xiiiiiiiiiiiii desculpem coloquei uma imagem pensava que dava 🙂

Podias editar a tua mensagem e apagar aquele parede de texto!

De qualquer maneira, esta aqui a imagem que querias 'postar'.

img.png

Mete a imagem num servidor de imagens (photobucket por exemplo) e depois podes mete-la no forum.

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Link to comment
Share on other sites

Obrigado pmg para a proxima já sei.

Espero não dizer um grande disparate, não utilizo access com .Net, mas penso que o problema é o seguinte:

A Microsoft não disponibiliza uma versão de 64 bits do motor Jet, apenas 32 bits. O resultado é que uma aplicação ao ser executada em 64 bits vai falhar por não conseguir estabelecer a ligação à base de dados.

Experimenta compilar a aplicação em modo x86 (assumo que como estás a compilar num xp será de 32 bits) e não em modo anycpu e experimenta se já consegues executá-la no W7 de 64 bits.

Nota que ao compilares a aplicação as anycpu ela vai ser executada como 32 bits ou 64 bits dependendo do sistema onde está a ser executada, não do sistema onde foi compilada (para + info ve este post: http://sedodream.com/2009/08/21/MSBuildBuilding64BitVersus32Bit.aspx.

já exprimentei tudo e não funciona 🙂

E já tenho instalado o C# 2010 express.

Mas não tem a opção para criar um novo projecto, para criar um instalador.

tou cá com um azar 🙂

Alguem me sabe dizer onde posso encontrar? ou se existe algum programa exterior que faça o mesmo?

Link to comment
Share on other sites

Em relação a compilação já compilei o programa para ANY CPU para X86 e para x64 e não funciona.

Há uma coisa que não sei se fui explicito, o programa funciona perfeitamente abre as forms tudo 5*,

o acesso a base de dados é que não está a funcionar e dá uma mensagem de erro que é a imagem que já postei atrás.

Eu já fiz uma pesquisa na net e toda gente diz que é a falta do Accessdatabaseengine, mas eu já instalei e não funciona na mesma.

a outro erro que pode estar a provocar isto será de eu gerar um programa com framework 3.5 e estar a instalar num pc que tem a 4.

Para resolver esse ultimo erro o solução é instalar o Visual studio 2010, que gera o ficheiro em framework 4.

E eu já instalei o visual C# 2010 express. Mas como é express não consigo criar o instalador para o meu programa. Para testar se funciona então o programa criado por mim com o framework 4.

Ainda agora tentei testar outra coisa que foi retirar o ficheiro da base de dados da pasta que o programa vai aceder (C:\) acedendo ao programa, quando ele vai fazer a consulta a base de dados dá exactamente o mesmo erro.

eu utilizo este Provider :

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\project_control_db.accdb" + ";Jet OLEDB:Database Password=password"
Link to comment
Share on other sites

Se o projecto foi compilado para 3.5, só corre na 3.5, tenha a 4 instalada ou não.

Tens a certeza que o instalador está a substituir o ficheiros?

A Microsoft não disponibiliza uma versão de 64 bits do motor Jet, apenas 32 bits.

Mas é do ACE que estamos a falar, e o ACE tem para 32 e 64.

Edited by Caça

Pedro Martins

Não respondo a duvidas por PM

Link to comment
Share on other sites

Boas pessoal.

Já funciona.

eu estava a cometer um erro, estava a definir o projecto como x86, mas quanto ao projecto para criar o instalador estava em ANY CPU.

Já coloquei em x86 e funciona.

Agradeço desde já a vossa ajuda.

Dá aqui mais um erro que não dá no meu mas penso que é de eu abrir a connection com a base de dados e depois não fecho e abro outra vez.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.