ich habe mal wieder ein kleines Problem, und vielleicht weiss ja hier jemand Abhilfe
Ich habe eine starter.exe - welche ein anderes QT Programm im Hintergrund starten soll (nennen wir das programm mal server.exe).
Da die starter.exe auch noch weitere Programme starten soll, welche alle diverse DLLs bzw. auch die QT-DLLs benötigen, habe ich mir ein Verzeichnis für die DLLs erstellt - mit dem Namen library und dort alles was an DLLs vorhanden ist hineingepackt.
Da die Programme nun den Pfad noch nicht kennen habe ich in der QProcess Variablen von jedem Programm noch die Environment angepasst:
Beispiel starten der server.exe:
Code: Alles auswählen
QStringList list = QProcess::systemEnvironment();
list.replaceInStrings(QRegExp("^PATH=(.*)", Qt::CaseInsensitive), "PATH=\\1;"+m_strDLLPath);
m_process.setEnvironment(list);
m_process.setWorkingDirectory(m_strServerPath);
m_process.start(m_strServerExecuteable);
Dies funktionierte auf meinem Rechner auch ohne Probleme - auf diversen anderen Rechnern auch...
Jedoch habe ich nun ein System auf dem dieses nicht funktioniert, und die Programme nicht gestartet werden können (bzw. sie bringen halt eine Fehlermeldung das die benötigten DLLs nicht gefunden werden können).
Woran kann es liegen, dass dies auf manchen Systemen nicht funktioniert?
Betriebssystem war auf allen Rechner Windows XP.
Danke schon einmal für die Hilfe