Paulo_Rocha Posted July 6, 2012 at 07:37 AM Report #467603 Posted July 6, 2012 at 07:37 AM 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
Caça Posted July 6, 2012 at 08:00 AM Report #467607 Posted July 6, 2012 at 08:00 AM Sim, tens de instalar também o AccessDatabaseEngine correspondente. Pedro Martins Não respondo a duvidas por PM
Paulo_Rocha Posted July 6, 2012 at 10:03 AM Author Report #467627 Posted July 6, 2012 at 10:03 AM Boas, Obrigado, vou testar.
Paulo_Rocha Posted July 9, 2012 at 10:45 AM Author Report #468017 Posted July 9, 2012 at 10:45 AM 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.
Caça Posted July 9, 2012 at 11:15 AM Report #468027 Posted July 9, 2012 at 11:15 AM Que erro é que está a dar? Pedro Martins Não respondo a duvidas por PM
Paulo_Rocha Posted July 9, 2012 at 11:25 AM Author Report #468030 Posted July 9, 2012 at 11:25 AM 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.
Paulo_Rocha Posted July 9, 2012 at 01:40 PM Author Report #468036 Posted July 9, 2012 at 01:40 PM 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.
Caça Posted July 9, 2012 at 02:22 PM Report #468040 Posted July 9, 2012 at 02:22 PM Compilaste para Any CPU? Pedro Martins Não respondo a duvidas por PM
Paulo_Rocha Posted July 9, 2012 at 02:42 PM Author Report #468043 Posted July 9, 2012 at 02:42 PM Sim.
CCrespo Posted July 9, 2012 at 03:33 PM Report #468056 Posted July 9, 2012 at 03:33 PM 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
Paulo_Rocha Posted July 9, 2012 at 04:03 PM Author Report #468061 Posted July 9, 2012 at 04:03 PM (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 at 09:02 PM by softklin Corrigida a imagem
CCrespo Posted July 9, 2012 at 06:40 PM Report #468094 Posted July 9, 2012 at 06:40 PM (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 at 06:45 PM by CCrespo
pmg Posted July 9, 2012 at 07:09 PM Report #468097 Posted July 9, 2012 at 07:09 PM 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!
Paulo_Rocha Posted July 10, 2012 at 11:16 AM Author Report #468157 Posted July 10, 2012 at 11:16 AM 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?
CCrespo Posted July 10, 2012 at 01:54 PM Report #468176 Posted July 10, 2012 at 01:54 PM 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?
Caça Posted July 10, 2012 at 02:04 PM Report #468178 Posted July 10, 2012 at 02:04 PM Este problema normalmente resolve-se alterando a plataforma para Any CPU. Pedro Martins Não respondo a duvidas por PM
Paulo_Rocha Posted July 10, 2012 at 02:41 PM Author Report #468189 Posted July 10, 2012 at 02:41 PM 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"
Caça Posted July 10, 2012 at 02:41 PM Report #468192 Posted July 10, 2012 at 02:41 PM (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 at 02:45 PM by Caça Pedro Martins Não respondo a duvidas por PM
Paulo_Rocha Posted July 10, 2012 at 03:22 PM Author Report #468203 Posted July 10, 2012 at 03:22 PM 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.
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