Pergunta

Quando criar um programa de configuração/MSI com o Visual Studio é possível fazer uma configuração para um aplicativo simples que não requer permissões de administrador para instalar?Se não é possível no Windows XP é possível em Vista?

Por exemplo, uma simples manipulação de imagem aplicativo que permite que você cole as fotos em cima de fundos.Eu acredito que a instalação para a pasta Arquivos de programas requer permissões de administrador?Podemos instalar o \AppData pasta em vez disso?

O objetivo é criar uma aplicação que vai instalar para usuários que não são membros do grupo administradores no computador local e não vai mostrar o prompt do UAC no Vista.

Eu acredito que uma limitação deste método seria o de que se instala de acordo com a aplicação da pasta de dados para o usuário atual outros usuários, não podia correr.

Atualização:

Você pode empacotar um clique em vez de instalar em um normal setup.exe escreva o programa de instalação?Você pode perguntar por que queremos isso - a razão é que nós temos um instalador que faz uma verificação prereq e instala qualquer coisa necessária (como .NET) e, em seguida, descarregar e executar a MSI.Gostaríamos de apresentar um instalador normal tela inicial também, mesmo se essa é a única coisa apresentada.Não me importo se o aplicativo só pode ser visto por um usuário (o usuário é instalado para).

Foi útil?

Solução

ClickOnce é uma boa solução para esse problema.Se você vá para Propriedades do Projeto > Publicar, você pode definições de configuração para isso.Em particular, "o Modo de Instalação e Configurações" é bom olhar:

  • O aplicativo está disponível apenas on-line -- essa é, efetivamente, uma "executar uma vez" aplicação
  • O aplicativo está disponível off-line (launchable a partir do Menu Iniciar) -- isso instala o aplicativo no PC

Você realmente não tem que usar o ClickOnce implantação na web coisas.Se você fizer uma Build > Publicar e, em seguida, feche os conteúdos de publicar\ pasta, você pode distribuir eficazmente que como um instalador.Para torná-lo ainda mais suave, crie um arquivo de extracção automática a partir da pasta que executa automaticamente o setup.exe arquivo.

Mesmo se você instalar dessa forma, se você optar por usá-lo, a atualização on-line continuarão a funcionar para a aplicação.Tudo que você tem a fazer é colocar o ClickOnce arquivos on-line, e colocar a URL no projeto de Publicar a página de propriedades.

Outras dicas

Vista mais restritivas sobre esse tipo de coisa, então se você não pode fazê-lo para o XP, você pode apostar Vista não permitem que você quer.

Você está certo de que a instalação para a pasta arquivos de programas usando o windows installer requer permissões administrativas.Na verdade, todos os acesso de escrita para que a pasta requer admin permsissions, que é por isso que você não deve armazenar os dados na mesma pasta do executável.

Felizmente, se você estiver usando .Net, você pode usar o ClickOnce implantação, em vez de um msi, que deve permitir a você instalar em uma pasta no perfil de cada usuário sem a necessidade de permissões de admin.

A única maneira que eu conheço para fazer isso é construir um aplicativo ClickOnce no .NET 2.0+

Se o usuário do seu aplicativo correto de pré-requsits instalado, em seguida, o aplicativo só pode ser "lançado".

Confira:

SE o UAC estiver ativado, você não poderia escrever para o Programa de Arquivos.Instalando \AppData serão, de fato, apenas instalar o programa para um usuário.

No entanto, você deve ter em atenção que quaisquer alterações de configuração que necessitam de alterações para o registro provavelmente(eu teria de verificar em que) o privilégio de administrador.Em cima da minha cabeça modificações para o fundo do ambiente de trabalho são, em última análise, armazenados em HKEY_CURRENT_USER.

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