Windows Installer: Como faço para criar um atalho no menu Iniciar por apenas Administrator?

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

  •  01-07-2019
  •  | 
  •  

Pergunta

Eu tenho um pacote de instalação WSI que eu estou usando para instalar a minha aplicação. O próprio aplicativo pode ser executado por um usuário normal, mas eu tenho um aplicativo de configuração que deve ser executado somente por um administrador do sistema. Assim, eu não quero que ele apareça no menu Iniciar para todos os usuários, apenas para o administrador.

Existe alguma maneira de dizer ao Windows Installer para criar alguns atalhos para todos os usuários, e outros para somente administrador?

Foi útil?

Solução

desde que eu duvido que você vai saber o nome de cada administrador e não há nenhuma pasta de início para apenas admins, então eu acho que a melhor solução seria para você ter a verificação aplicativo de configuração para ver se o usuário executá-lo é uma administrador, em seguida, sair normalmente se não é.

EDIT:

Talvez eu deva explicar melhor porque eu acho que adicionando o atalho para apenas admins é um caso de resolver o problema errado. Aqui estão alguns cenários que eu acho que vai ilustrar as armadilhas:

1) O que se você olhar no grupo de administradores locais e adicionar o atalho para cada usuário listado. Agora, uma semana mais tarde eu estou adicionados aos administradores locais. Eu não tenho o atalho.

2) Muitas vezes escpecially em uma empresa, os indivíduos não estão listados nos administradores locais, os grupos são. Você poderia, em teoria: Inquérito AD para encontrar os membros de cada grupo (não vamos nem considerar grupos aninhados aqui), em seguida, adicione as pastas adequadas em Documentos e configurações para cada um desses usuários, mesmo que eles podem ou não podem nunca fazer logon nesta máquina. Mesmo que você fez, se aquele navio membro do grupo mudanças, então algum administrador pode fazer logon e não tem o atalho.

3) Vamos dizer que você adicioná-lo para cada administrador. O que acontece quando os meus direitos de administrador são levados embora? Eu ainda vou ter o atalho.

É possível contornar algumas destas questões por ter o seu MSI instalar um script que os testes para ver se o usuário atual é um administrador e se eles são as opções de venda de script o atalho no começo para eles. Em seguida, registrar o script como um item Active Setup. Em seguida, sempre que um novo registros de administrador no que iria receber o atalho. Isso não seria no entanto remover o atalho se eles perderam os seus privilégios de administrador.

Independentemente de tudo isso, se eu entender a situação, então não há nada impedindo qualquer usuário admin ou não de ir para o que quer que o atalho aponta e executá-lo.

Assim, outra vez digo que adicionar o atalho somente para administradores está resolvendo o problema errado. O problema certo para resolver é fazer com que você tem que ser um administrador para executar o utilitário de configuração.

Outras dicas

Normalmente em todo diretório Users (C: \ Documents and Settings \ All Users), existem atalhos que aparecem em todos os lugares. Se você quiser apenas no grupo Administrador você deve colocá-lo em C:. \ Documents and Settings \ Administrador ou qualquer que seja o nome do usuário é (Isso provavelmente pode ser encontrada durante a instalação - que requer direitos administrativos)

Você pode colocar os atalhos em questão dentro de uma subpasta, e negar o acesso usuários não-administrador para o conteúdo da pasta. Eles vão ver uma pasta vazia, administrador verá uma pasta cheia de atalhos. Esta não é a solução ideal, mas o melhor que um usuário não-administrador pode realizar sem escalação de privilégios.

Eu faria um MSI separado para o aplicativo de configuração e condicionar a sua seqüência de lançamento para exigir direitos de administrador. Depois, você pode instalar o aplicativo por usuário, ou melhor ainda atualizar seu aplicativo de configuração para recusar-se a executar em tudo como um usuário regular.

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