Aviso de segurança ao usar um serviço para iniciar um programa não assinado do HDD local

0

Eu tenho uma caixa remota do Windows Embedded (basicamente uma cópia de recurso limitado do WinXPSP3), na qual eu tenho um serviço do Windows cuja única finalidade na vida é garantir que uma cópia de um aplicativo específico esteja em execução. Caso contrário, ele usa uma chamada .NET Process.Start () no código para iniciar uma cópia.

Temos este serviço e programa em execução em quase 1300 caixas semelhantes a este sem problemas. No entanto, com essa caixa específica, quando o serviço (executado como "sistema local") tenta iniciar o software, um aviso de Aviso de Segurança é exibido e o software não é iniciado. O serviço repete o comando (porque o software não foi iniciado) e o resultado final é um bloco de 100 caixas de diálogo de aviso de segurança e nenhum software em execução. Obviamente, isso é um problema, já que não podemos tomar conta dessa caixa (ou qualquer outra, na verdade) e o software é fundamental para nossas operações comerciais, que envolvem saúde e segurança de vida.

Ao iniciar o software como o usuário conectado padrão, o software é iniciado corretamente. O software reside no disco rígido da caixa em questão e não em qualquer compartilhamento de rede, portanto, a zona deve ser "Meu computador". O arquivo foi "bloqueado", mas foi "desbloqueado" sem alterações.

Suponha que nenhuma alteração no serviço ou software seja possível, mas que eu possa fazer qualquer coisa no próprio ambiente do Windows, como alterar a conta de usuário que está executando o serviço, modificar Opções da Internet, Diretiva de Grupo etc. são listados como arquivos de baixo risco "seguros" no GP, que as configurações de segurança da Intranet não solicitarão ao iniciar um aplicativo e que não há sites / domínios confiáveis. Basicamente, tentei tudo o que uma pesquisa do Google diz para desativar os avisos de segurança de todos os aplicativos, e o problema persiste.

    
por KeithS 22.05.2012 / 22:08

2 respostas

0

Adicione o certificado com o qual o aplicativo foi assinado na lista "editor confiável" do computador . Você precisará fazer isso através do GP ou através da abertura manual através do mmc. Você pode ter adicionado o certificado ao armazenamento de certificados Usuário e é por isso que ele não é confiável quando você o executa como sistema. Veja se funciona depois de adicioná-lo ao armazenamento do computador.

    
por 23.07.2012 / 21:02
0
Dim infoStart As New System.Diagnostics.ProcessStartInfo
Dim strFile As String = "SomeFileName.exe"
infoStart.FileName = strFile
infoStart.UseShellExecute = False '<---- this is what you want
Process.Start(infoStart)
    
por 23.07.2012 / 20:50