Windows Unattended: executando um programa a partir da unidade de inicialização do sistema operacional e não da unidade “C:”

2

Veja o link para FirstLogonCommand , como especifico CommandLine para < strong> a unidade de inicialização do sistema operacional e não apenas usar "C:" como os exemplos. A unidade de inicialização do sistema operacional pode não ser "C:".

Update : Estou usando o C ++ para escrever o XML e o programa que será executado também é escrito em C ++.

    
por unixman83 18.02.2012 / 08:46

2 respostas

1

Pergunta interessante. Nenhuma ajuda da Microsoft (como sempre).

% SystemDrive% environment var é normalmente o que você usaria em scripts e outros, mas isso não é realmente um script.

Francamente, não tenho idéia se isso funcionará nesse caso particular.

Se o sistema passar o que estiver no XML diretamente para o cmd.exe, ele funcionará.

Se for, sem expandir o ambiente var, diretamente na chamada exec () da API do Windows, é duvidoso que funcione.

Você apenas terá que tentar. Como não há feedback visual enquanto isso é executado, eu recomendo que você execute algo que grava um arquivo de log em um local conhecido para que você possa ter certeza se funcionou ou não.

Outra solução vem à mente: Assumindo que, enquanto isso é executado, a unidade atual é a unidade do sistema operacional que você pode simplesmente usar sem especificar a unidade. Basta usar a parte inteira da parte superior da unidade sem a letra de unidade e dois pontos.

Exemplo: \ synccommands \ run1.exe

Deixe-nos saber como isso aconteceu. Eu, pelo menos, estou interessado se uma dessas soluções funciona e não tenho tempo nem equipamento para experimentar.

    
por 18.02.2012 / 10:40
1

A variável de ambiente %SystemDrive% é definida para a unidade do sistema operacional no Windows e pode ser substituída na maioria dos comandos.

    
por 18.02.2012 / 09:45