Como faço para instalar / deploy / construir a minha aplicação do Visual C # para que esteja disponível para todos os usuários?

StackOverflow https://stackoverflow.com/questions/425207

Pergunta

Eu escrevi um aplicativo no Microsoft Visual C # 2008 Express Edition.

O computador Windows XP eu quero instalá-lo em tem duas contas de usuário. Uma delas é a conta de administrador, o outro é a conta de usuário principal e não tem privledges de administração.

Eu tentei instalar o aplicativo como o usuário principal, e tenho um erro dizendo que não posso porque eu não sou administrador. Bem. Eu tentei instalar o aplicativo como a conta de administrador. Instala-se muito bem e funciona bem sob a conta de administrador, mas não parece estar disponível em minha conta de usuário principal. Da conta de usuário principal, eu navegadas usando o Windows Explorer para onde eu executar o aplicativo como administrador e o mesmo "não é possível instalar" erro.

O que eu preciso fazer para torná-lo disponível para a minha conta de usuário principal?

Obrigado!

-Adeena

Update: alguém perguntou por estes detalhes: Eu estou usando o "ClickOnce" publicar esquema (eu acho que é a única coisa disponível no Expresso. Eu uso o assistente e eu publicá-lo para uma pasta local na minha máquina, então eu digo "um usuário do vai instalar a partir de um CD-ROM" (em oposição a partir de um site ou compartilhamento de arquivo), e selecione "O aplicativo não irá verificar se há atualizações"

Update2: quando tento instalar sob a conta de usuário principal, eu recebo um diálogo que diz: "O aplicativo não pode ser iniciado em contato com o fornecedor do aplicativo." e, em seguida, há um botão para "Detalhes ..." eu clicar sobre isso e obter o seguinte resumo de erros: resumo de erros Abaixo está um resumo dos erros, detalhes desses erros são listados posteriormente no log. * Activação de C: \ ADIA \ ADIA.application resultou na excepção. Seguintes mensagens de falha foram detectadas: + O acesso é negado. (Exceção de HRESULT: 0x80070005 (E_ACCESSDENIED))

Outra nota ... É uma aplicação muito simples. Se eu copiar o executável que é construído quando estou trabalhando em MS Visual Express para a outra máquina e apenas executá-lo como meu principal do usuário, ele funciona muito bem.

Foi útil?

Solução

Você não pode mudar um projeto de instalação ClickOnce para instalar todos os usuários. Eles são projetados para ser instalado apenas para usuários individuais. Você precisa criar um instalador MSI. Adicionar um novo projeto para a sua solução, vá para o Other Project Types | Instalação e implantação | Assistente de configuração. Que deverá fazê-lo em seu caminho, em seguida, ver a minha outra resposta.

Não tenho certeza se isso funciona in Express embora. Se isso não acontecer, você pode precisar usar um instalador de terceiros como Wix ou o Nullsoft instalador .

Outras dicas

Abra seu projeto de instalação no Visual Studio. Clique em seu projeto de implantação em seguida, bateu F4 para abrir as propriedades. Nas propriedades, mude InstallAllUsers para true e reconstruir o seu projeto. Ele deve funcionar como você espera agora.

É a instalar um MSI? Se assim tentar MSIEXEC.EXE / I yourpackage.msi ALLUSERS = 1

Se seu aplicativo for um único arquivo .exe, por que se preocupar com uma instalação em tudo? Eu amo aplicativos que eu posso simplesmente copiar a minha máquina e correr sem ter que passar por instalar e desinstalar.

Se você quiser ficar realmente extravagante, zip o arquivo .exe com um arquivo .cmd que copia o .exe para 'Program Files' e cria um atalho no menu Iniciar.

maior força de ClickOnce é para aplicações que mudam com freqüência. Ele permite que o cliente para atualizar-se sem problemas a partir da versão do servidor atualizado. Se você não está fazendo isso, a principal vantagem de usar ClickOnce está desaparecido.

A Blog Post em blogs MDSN explica que o usuário não-administrador precisa de permissão para um diretório e uma chave de registro e dá uma solução alternativa assustador.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top