Paulo_Rocha Posted July 6, 2012 Report Share Posted July 6, 2012 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 More sharing options...
Caça Posted July 6, 2012 Report Share Posted July 6, 2012 Sim, tens de instalar também o AccessDatabaseEngine correspondente. Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
Paulo_Rocha Posted July 6, 2012 Author Report Share Posted July 6, 2012 Boas, Obrigado, vou testar. Link to comment Share on other sites More sharing options...
Paulo_Rocha Posted July 9, 2012 Author Report Share Posted July 9, 2012 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 More sharing options...
Caça Posted July 9, 2012 Report Share Posted July 9, 2012 Que erro é que está a dar? Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
Paulo_Rocha Posted July 9, 2012 Author Report Share Posted July 9, 2012 Não tinha a imprimir o erro mas já está e diz que o fonecedor do Microsoft. ACE.OLEDB.12.0 não está registado no computador local. Link to comment Share on other sites More sharing options...
Paulo_Rocha Posted July 9, 2012 Author Report Share Posted July 9, 2012 Já instalei num pc com windows XP e funciona bem. mas tem o framework 3.5 e no pc do windos 7 está instalado a versão 4. Link to comment Share on other sites More sharing options...
Caça Posted July 9, 2012 Report Share Posted July 9, 2012 Compilaste para Any CPU? Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
Paulo_Rocha Posted July 9, 2012 Author Report Share Posted July 9, 2012 Sim. Link to comment Share on other sites More sharing options...
CCrespo Posted July 9, 2012 Report Share Posted July 9, 2012 Paulo, O PC onde estás a instalar é W7 32 ou 64 bits? Vê se este post é util: http://social.msdn.microsoft.com/Forums/en-US/vstsdb/thread/1d5c04c7-157f-4955-a14b-41d912d50a64 Link to comment Share on other sites More sharing options...
Paulo_Rocha Posted July 9, 2012 Author Report Share Posted July 9, 2012 (edited) 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. xiiiiiiiiiiiii desculpem coloquei uma imagem pensava que dava 🙂 Edited July 9, 2012 by softklin Corrigida a imagem Link to comment Share on other sites More sharing options...
CCrespo Posted July 9, 2012 Report Share Posted July 9, 2012 (edited) 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 July 9, 2012 by CCrespo Link to comment Share on other sites More sharing options...
pmg Posted July 9, 2012 Report Share Posted July 9, 2012 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'. 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 More sharing options...
Paulo_Rocha Posted July 10, 2012 Author Report Share Posted July 10, 2012 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 More sharing options...
CCrespo Posted July 10, 2012 Report Share Posted July 10, 2012 Paulo, Desculpa lá mas não foste muito claro: Já tentaste compilar em modo x86 e verificar se assim já consegues executar a aplicação no W7 64? Link to comment Share on other sites More sharing options...
Caça Posted July 10, 2012 Report Share Posted July 10, 2012 Este problema normalmente resolve-se alterando a plataforma para Any CPU. Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
Paulo_Rocha Posted July 10, 2012 Author Report Share Posted July 10, 2012 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 More sharing options...
Caça Posted July 10, 2012 Report Share Posted July 10, 2012 (edited) 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 July 10, 2012 by Caça Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
Paulo_Rocha Posted July 10, 2012 Author Report Share Posted July 10, 2012 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now