Pessoal,
Estou tentando executar o seguinte comando para desinstalar um software, o código fonte está assim:
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
int main(int argc, char *argv[])
{
char mess[] = "\"C:\\PROGRA~2\\Pasta1\\AUTOUP~1\\UninstallApp.exe\" {56D68699-5DDF-4376-85B2-05B3C268D743} ";
char mess1[] = "\"C:\\Windows\\TEMP\\{34D596F3-A716-4A73-98A9-AC65AD2E8DE4}\\{56D68699-5DDF-4376-85B2-05B3C268D743}Uninstall.log\"";
strcat(mess,mess1);
printf("%s\n",mess);
system(mess);
system("pause");
return 0;
}
A montagem está correta pois se pegar a saída ali do printf e colar diretamente no terminal ele executa, já tentei com rodar o .exe com permissão de administrador ou chamando do terminal e o retorno é o mesmo:
"C:\PROGRA~2\Pasta1\AUTOUP~1\UninstallApp.exe" {56D68699-5DDF-4376-85B2-05B3C268D743}Uninstall "C:\Windows\TEMP\{34D596F3-A716-4A73-98A9-AC65AD2E8DE4}\{56D68699-5DDF-4376-85B2-05B3C268D743}Uninstall.log" A sintaxe do nome do arquivo, do nome do diretório ou do rótulo do volume está incorreta. Pressione qualquer tecla para continuar. . .
Alguma ideia do motivo que ocorre este erro?