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

È stato utile?

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- 
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top