Eu percebi - é preciso colocar aspas duplas em torno do cifrão:
config SC.EXE MyService depend = MSSQL "$" SQL11
Digamos que eu queira tornar o Startup do Windows Service dependente do SQL Server.
No meu caso, o nome do serviço para o SQL Server é MSSQL $ SQL11 (SQL11 é o nome da instância do SQL Server)
No entanto, quando eu emito este comando:
config do SC.EXE MyService depend = MSSQL $ SQL11
tudo depois do cifrão é ignorado. Quando vou para a guia "Dependências" em "Serviços", o SQL Server não está listado. Quando eu verifico a chave de registro correspondente, fica claro o porquê: ele tem apenas MSSQL . Neste ponto eu tenho que editar o registro manualmente para mudar MSSQL para MSSQL $ SQL11 e então tudo funciona como esperado.
Colocar aspas ao redor de MSSQL $ SQL11 não ajuda.
Existe uma maneira de especificar $ no meio da string de argumento SC.EXE?