Seguendo la guida di Microsoft, http://msdn.microsoft.com/en-us/library/ee872121(VS.85).aspx, sono in grado di ottenere che il mio programma sia in grado di fare in modo che un programma risolva le librerie dinamiche richieste in ordine perché funzioni.Aggiunta di percorsi specifici dell'applicazione, quindi funziona dalla riga di comando in Windows
Quindi aggiungo un valore con nome e percorso completi al mio eseguibile e aggiungo sottochiave a questa voce (percorso denominato) con il percorso completo della directory dei file DLL.
E magia. Funziona. Vado nel menu di avvio e digita myprogram.exe e si avvia e ora è in grado di localizzare correttamente i file dll.
Tuttavia, se si avvia il prompt dei comandi utilizzando il comando cmd.exe e quindi si prova a eseguire myprogram.exe non è più possibile risolvere la DLL. Per qualche motivo il prompt dei comandi non sembra rispettare/leggere i valori del registro quando è impostato in HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ App Percorsi
Qualsiasi suggerimento su come posso far funzionare questo comportamento dall'interno del prompt dei comandi e dal menu di avvio?
Perfetto. Questo risolve il problema. – Smidstrup
Cosa intendi con "usa sottochiave di percorsi app con il nome cmd.exe"? –
@Mikhail Orlov: è possibile creare sottochiave "cmd.exe" sotto "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ App Paths" e creare il valore REG_SZ con il nome "Percorso" e qualsiasi percorso come valore. Quindi si sceglie all'inizio "cmd.exe" dal menu di avvio "Esegui". Puoi vedere con "set PATH" che la variabile environmant Path ha il percorso che inserisci nel registro come prima. – Oleg