• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Joca

Quando é que o programa não pode funcionar noutros computadores?...

12 mensagens neste tópico

Boas!...

Uso Visual Basic 2008 Express Edition.

Se colocar directamente o meu "*.exe" (que, está criado no percurso ".../bin/debug"),  num computador que, não tenha a Framework instalada, ele "logicamente" não irá funcionar.

Porém, questiono-me se....

1 - um computador actualizado pelo Windows Update e, do mesmo sistema operativo;

2 - ou, um computador de outro sistema operativo, com as actualizações em dia;

3 - ou, de outro sistema operativo mas, sem as actualizações do Windows Update;

....necessita, mesmo assim, da Framework?

A dúvida resulta de, eu ter desenvolvido um programa no Windows XP e, agora precisar de mostrar o seu funcionamento no Windows Vista.

No entanto, não sei o "estado" (em termos de updates) do computador "destinatário", onde vou mostrá-lo...

Devo preocupar-me?... :-[

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Devo preocupar-me?... :-[

O Windows Vista já vem com o .NET Framework 3.0 ou 3.5, depende da versão (pelo que li as ultimas já trazem o 3.5).

De qualquer maneira estes frameworks fazem parte do windows update do XP e Vista.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

1º Não deves ir buscar o exe à pasta debug mas sim à Release depois de um Build;

2º Podes evitar os problemas do computador destinatário não estar devidamente actualizado abrindo a pagina do teu projecto (no Solution Explorer é logo o 1º item "My Project") e aí vais a References e tens a lista de recursos que o teu projecto usa, basta seleccionares os que achas que o computador destino não está actualizado e nas propriedades escolhes "Copy Local = True". Basicamente o que isto faz é que copie a DLL do respectivo recurso para a pasta release, para ir junto com o EXE assim não depende do Sistema operativo ou Framework estejam devidamente actualizadas. Já fiz isso aqui no trabalho e resultou muito bem, tenho recursos da Framework 3.5 num computador que só te, a .NET 2.0

Experimenta e depois diz qualquer coisa...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

1º Não deves ir buscar o exe à pasta debug mas sim à Release depois de um Build;

Foi uma distracção mental... De qualquer modo, a diferença entre o conteúdo na pasta "debug", face ao da pasta "release", é "apenas" a redução do tamanho do *.exe e, melhoramento da rapidez de execução do *.exe. Certo?

O nível de "protecção" do código é idêntico em ambos os casos...

2º Podes evitar os problemas do computador destinatário não estar devidamente actualizado abrindo a pagina do teu projecto (no Solution Explorer é logo o 1º item "My Project") e aí vais a References e tens a lista de recursos que o teu projecto usa, basta seleccionares os que achas que o computador destino não está actualizado e nas propriedades escolhes "Copy Local = True". Basicamente o que isto faz é que copie a DLL do respectivo recurso para a pasta release, para ir junto com o EXE assim não depende do Sistema operativo ou Framework estejam devidamente actualizadas. Já fiz isso aqui no trabalho e resultou muito bem, tenho recursos da Framework 3.5 num computador que só te, a .NET 2.0

Experimenta e depois diz qualquer coisa...

Essa é que não conhecia!.... Algumas Dll ficaram com alguns Mb de tamanho... Mas a dica é excepcional! Obrigado!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Foi uma distracção mental... De qualquer modo, a diferença entre o conteúdo na pasta "debug", face ao da pasta "release", é "apenas" a redução do tamanho do *.exe e, melhoramento da rapidez de execução do *.exe. Certo?

Sim, no fundo, todo o código do executável é optimizado.

Quanto ao problema, ou fazes o que o Weasel sugeriu, ou instalas a framework no PC destino. Basta instalares sempre a última (neste momento a 3.5), que normalmente têm suporte para as versões anteriores. Não importa o sistema operativo, desde que a framework esteja instalada e seja correctamente suportado por esse sistema operativo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bom dia,

Eu estou a usar o Express 2008, e no meu caso em References, só me permite acrescentar ao projecto por exemplo dll, não me permite configurar.

No entanto na parte do Publish tem 2 configurações que podem ser úteis:

Application Files - Permite dizer que necessitas obrigatoriamente de certos ficheiro (.ico ou .dll ou outro)

Prerequesites - Permite dizer quais são os pré-requisitos do teu programa para funcionar (Framework Vx ou SQL Server uo outro)

Depois de configurares isto, podes escolher a directoria de destino e mandar publicar.

O VB cria-te na directoria de destino uma série de ficheiro para poderes instalar o teu programa em "qualquer" computador.

Só que:

Houve uma aplicação que usava uma dll de terceiros, configurei para obrigatória mente meter lá a dll, só que quando instalo no computador do cliente ele não copia a dll para o system32, tenho que fazer há mão, na altura que fiz este projecto não conhecia o P@P e agora já está feito pelo que não quero alterar.

Criei que o que fiz é o correcto, em vez de copiar um exe, gera-se um instalador do nosso programa.

Espero ter ajudado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bom dia,

Eu estou a usar o Express 2008, e no meu caso em References, só me permite acrescentar ao projecto por exemplo dll, não me permite configurar.

Eu também uso Visual Studio 2008 Express, e podes fazer como disse no post ali em cima.

referencesin5.png

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bom dia,

Não tinha repara, por acaso neste projecto, estava configurado para Copy Local = True, mas não copiou, tive que copiar à mão,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

No entanto na parte do Publish tem 2 configurações que podem ser úteis:

Application Files - Permite dizer que necessitas obrigatoriamente de certos ficheiro (.ico ou .dll ou outro)

Prerequesites - Permite dizer quais são os pré-requisitos do teu programa para funcionar (Framework Vx ou SQL Server uo outro)

Depois de configurares isto, podes escolher a directoria de destino e mandar publicar.

O VB cria-te na directoria de destino uma série de ficheiro para poderes instalar o teu programa em "qualquer" computador.

Pois... essa do "publish" (e, clique no botão "prerequisites") foi uma das primeiras coisas que fiz. Mas, não faz TUDO o que eu pretendia. Trata-se de uma limitação gerada pelo facto de eu ter feito o download do VB2008EE pela opção "web install". Penso eu...

De facto, se eu quiser criar com a opção de gravar num CD/DVD mantendo a opção "download prerequisites from the component vendor's web site", funciona que é uma maravilha!... mas... obriga o utilizador a ter internet para fazer o download dos prerequisitos (caso não tenha os ficheiros do windows actualizados).

Agora, experimenta (se também tiveres feito o download do VB2008EE pela opção "web install") mudar para "download prerequisites from the same location as my application"... Nunca conseguirás concluir essa tarefa pois, diz que tu não tens os ficheiros necessários para essa opção!...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Agora, experimenta (se também tiveres feito o download do VB2008EE pela opção "web install") mudar para "download prerequisites from the same location as my application"... Nunca conseguirás concluir essa tarefa pois, diz que tu não tens os ficheiros necessários para essa opção!...

É estranho ... eu trabalho com o Visual Studio 2008 Pro e essa opção funciona muito bem. Quando fazes o publish ele coloca os ficheiros para instalação do framework junto do projecto e a instalação corre e instala sem problemas.

Pode ser da versão express ? Tens o SP1 instalado ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Só pode ser por eu ter a versão express obtida com a opção "web install"....

:thumbsup: Aqui vai uma resposta bem completa (copy/paste de parte do conteúdo no menu Help | About Microsoft Visual Basic 2008 Express Edition):

"Microsoft Visual Studio 2008

Version 9.0.30729.1 SP

Microsoft .NET Framework

Version 3.5 SP1

Installed Edition: VB Express"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora