Variabile d'ambiente per forzare l'esecuzione delle applicazioni .NET a 32 bit
-
03-07-2019 - |
Domanda
Mi è stato detto che esiste una variabile d'ambiente che puoi impostare per forzare l'esecuzione di applicazioni .NET come applicazioni a 32 bit su versioni x64 di Windows. Sai di cosa si tratta o conosci un riferimento su di esso? Temo che il mio google-fu mi abbia deluso oggi (o non esiste).
Sto usando Resolver One (un foglio di calcolo .NET) e voglio accedere ad alcune funzionalità solo a 32 bit senza modificare l'eseguibile. Se posso configurarlo da una variabile d'ambiente, posso accedere alla funzionalità a 32 bit quando necessario, ma anche eseguire come app a 64 bit quando necessario.
(NOTA: in effetti voglio essere in grado di cambiare se un'applicazione funziona come 32 bit o 64 bit al momento del lancio invece di forzarla al momento della compilazione.)
Grazie
Soluzione
Ho ricevuto una risposta da Dino Veihland (sviluppatore di Microsoft IronPython). Non ho ancora avuto il tempo di provarlo ...
È COMPLUS_ENABLE_64BIT. Penso che impostandolo su 0 disabiliti 64-bit.
Dovresti essere in grado di impostarlo come var env o aggiungere un valore a HKLM \ Software \ Microsoft \ .NETFramework con il nome " Enable_64Bit " ;, il tipo REG_DWORD e il valore 0 per impostarlo a livello globale (ecco come tutte le funzioni COMPlus_ * funzionano). Questo potrebbe essere abbastanza speciale (deve essere eseguito prima della creazione del processo) da impostare nella chiave reg ma non ne sono del tutto sicuro.
Altri suggerimenti
Che ne dici di questo link
Non proprio una variabile d'ambiente, ma basta usare lo strumento CoreFlags per passare da una posizione all'altra.
Per passare a 32 bit:
CorFlags.exe TheApp.exe /32BIT+
Per tornare a 64 bit:
CorFlags.exe TheApp.exe /32BIT-
Controlla questo:
Proverò presto questo - fondamentalmente un exe wrapper che funziona a 32 bit, quindi avvia l'app di destinazione da esso. la modalità a 32 bit del genitore dovrebbe forzare l'esecuzione di un binario compilato AnyCPU a 32 bit. vedi http://lostechies.com/gabrielschenker/2009/10/21/force-net-application-to-run-in-32bit-process-on-64bit-os/