none
SQL Server Compact Edition , o instalador e as dlls RRS feed

  • Pergunta

  • Olá, pessoal então estas são minhas crônicas atuais, primeiro estou tentando fazer com que o instalador do meu sistema detecte se o computador possui ou não o sql compact 3.5, para que o meu sistema possa rodar na máquina; até que vi um método na internet que eu posso colocar apenas as dlls do compact assim fazendo o sistema rodar normalmente, mas tente executar este tutorial:

    http://www.codeproject.com/Articles/33661/Creating-a-Private-Installation-for-SQL-Compact

    e não deu muito certo.Alguém ai sabe como posso fazer para adicionar as dlls, executar o programa em um sistema que não tenha o compac 3.5?

    Obrigado.

    domingo, 23 de março de 2014 14:43

Respostas

  • Sr. Basic, pegue no Google Drive

    (como o problema foi resolvido, o link para o Google Drive foi removido por mim)

    É um projeto em branco meu, só tem um formulário e a referência as bibliotecas.

    Monte em cima dele os seus formulários, classes, módulos etc... veja se funciona.

    Eu não sei o que você tem no seu PC. Se o seu PC é 64bit, então você teria que instalar as 2 bibliotecas, copiar as DLLs de cada pasta na pasta respectiva do projeto e, da instalação x86, colocar a DLL "System.Data.SqlServerCe.dll" externamente, ou seja, sem estar dentro nem da pasta x86 nem da pasta x64.

    Abra este projeto e veja, então me diga se ainda deu errado.


    • Editado SammuelMiranda terça-feira, 25 de março de 2014 11:25
    • Marcado como Resposta Giovani Cr terça-feira, 25 de março de 2014 14:50
    segunda-feira, 24 de março de 2014 19:25
  • SammuelMiranda, vlw pela ajuda! resolvi fazer agora há pouco um teste, peguei as pastas x86 e x64 e copiei para a pasta bin, onde está o executável, e rodou lindamente aqui o sistema, agora já posso fazer o instalador, vlw mesmo pela ajuda!!

    • Editado Sr.Basic segunda-feira, 24 de março de 2014 23:37
    • Marcado como Resposta Giovani Cr terça-feira, 25 de março de 2014 14:50
    segunda-feira, 24 de março de 2014 20:43
  • Bom que pude ajudar.

    Se possível, mas que resposta para que o tópico seja finalizado.

    • Marcado como Resposta Giovani Cr terça-feira, 25 de março de 2014 14:50
    terça-feira, 25 de março de 2014 11:24

Todas as Respostas

  • OK, é mais simples:

    Você vai colocar no seu projeto a DLL ("System.Data.SqlServerCe.dll" - a de 32bit, que está na pasta "Program Files (x86)") no seu projeto, fora de qualquer pasta, com "Copy to Local = True".

    Essa DLL é a que você vai fazer referência no projeto. Sabe? Na aba "References" o endereço tem que ser da pasta do projeto. Não vai adiantar você copiar as DLLs se o projeto fizer referência as DLLs instaladas... pode ser esse o problema, de uma olhada.

    Depois disso você vai criar 2 pastas: "x64" e "x86". Em cada uma das pastas você vai copiar as DLLs: "sqlceca35.dll", "sqlcecompact35.dll", "sqlceer35EN.dll", "sqlceme35.dll", "sqlceoledb35.dll", "sqlceqp35.dll" e "sqlcese35.dll". Em ambas as pastas são os mesmos arquivos, na "x64" copie os arquivos do "Program Files" e no "x86" os do "Program Files (x86)".

    Não esqueça de compilar o seu projeto com perfil "Any CPU", para que ele possa de fato rodar tanto em sistemas de 32bits quanto de 64bits.

    Vai ficar assim:

    Espero ter ajudado.

    • Editado SammuelMiranda segunda-feira, 24 de março de 2014 11:49
    • Sugerido como Resposta SammuelMiranda segunda-feira, 24 de março de 2014 11:50
    segunda-feira, 24 de março de 2014 11:45
  • Bom vamos por partes, como ainda não consigo compreender profundamente todos estes termos não consegui entender a parte:

    Você vai colocar no seu projeto a DLL ("System.Data.SqlServerCe.dll" - a de 32bit, que está na pasta "Program Files (x86)") no seu projeto, fora de qualquer pasta, com "Copy to Local = True".

    Essa DLL é a que você vai fazer referência no projeto. Sabe? Na aba "References" o endereço tem que ser da pasta do projeto. Não vai adiantar você copiar as DLLs se o projeto fizer referência as DLLs instaladas... pode ser esse o problema, de uma olhada

    Que pasta é essa? onde fica, e onde defino ela como copy to local = true? e quando eu mudo o local onde esta essa dll, ela faz referencia a minha partição ex: "c:\desktop\basic\projetc".

    tentei executar o que vc me passou e deu este erro:

    Obrigado pela ajuda anterior e agradeço se puder me continuar ajudando.

    segunda-feira, 24 de março de 2014 13:09
  • Sr. Basic, pegue no Google Drive

    (como o problema foi resolvido, o link para o Google Drive foi removido por mim)

    É um projeto em branco meu, só tem um formulário e a referência as bibliotecas.

    Monte em cima dele os seus formulários, classes, módulos etc... veja se funciona.

    Eu não sei o que você tem no seu PC. Se o seu PC é 64bit, então você teria que instalar as 2 bibliotecas, copiar as DLLs de cada pasta na pasta respectiva do projeto e, da instalação x86, colocar a DLL "System.Data.SqlServerCe.dll" externamente, ou seja, sem estar dentro nem da pasta x86 nem da pasta x64.

    Abra este projeto e veja, então me diga se ainda deu errado.


    • Editado SammuelMiranda terça-feira, 25 de março de 2014 11:25
    • Marcado como Resposta Giovani Cr terça-feira, 25 de março de 2014 14:50
    segunda-feira, 24 de março de 2014 19:25
  • SammuelMiranda, vlw pela ajuda! resolvi fazer agora há pouco um teste, peguei as pastas x86 e x64 e copiei para a pasta bin, onde está o executável, e rodou lindamente aqui o sistema, agora já posso fazer o instalador, vlw mesmo pela ajuda!!

    • Editado Sr.Basic segunda-feira, 24 de março de 2014 23:37
    • Marcado como Resposta Giovani Cr terça-feira, 25 de março de 2014 14:50
    segunda-feira, 24 de março de 2014 20:43
  • Bom que pude ajudar.

    Se possível, mas que resposta para que o tópico seja finalizado.

    • Marcado como Resposta Giovani Cr terça-feira, 25 de março de 2014 14:50
    terça-feira, 25 de março de 2014 11:24