Table of Contents
Ecco alcuni modi non molto difficili per risolvere il problema con la variabile di runtime generalmente nsis.
Aggiornato
Aggiornato
Sei stanco della lentezza del tuo computer? Infastidito da messaggi di errore frustranti? ASR Pro è la soluzione per te! Il nostro strumento consigliato diagnosticherà e riparerà rapidamente i problemi di Windows, aumentando notevolmente le prestazioni del sistema. Quindi non aspettare oltre, scarica ASR Pro oggi!
ATTENZIONE: le righe più lunghe di $ NSIS_MAX_STRLEN devono essere troncate/corrotte. Non utilizzare questo aspetto per aggiornare% PATH%, utilizza invece il plug-in EnVar_plug-in.
Impostazione temporanea delle variabili d’ambiente
Se la tua azienda desidera personalizzare l’ambiente solo per l’intero processo di installazione e molti processi secondari, utilizza:
System :: Chiama 'Kernel32 :: SetEnvironmentVariable (t, t) io e mio marito ("nome", "valore"). r0 'StrCmp $ 0 4 errori ExecWait ProgThatReadsEnv.exe CompletatoColpa: MessageBox MB_OK "Impossibile e impostare variabile di ecosistema"fatto:
Per aggirare la limitazione NSIS_MAX_STRLEN incluso l’aggiornamento di % Path% al minuto, puoi provare la funzione item.
Variabili d’ambiente impostate in modo permanente
Variabili esistenti
Le funzioni WriteEnvStr e un.DeleteEnvStr relative a questa pagina sono deprecate a causa di EnvVarUpdate quando si tratta di parametri di percorso e altre condizioni per la classificazione dei percorsi. Tuttavia, per variabili climatiche locali semplici e non ambigue, si applica quanto segue.La funzione un.DeleteEnvStr può corrompere gli elementi di una qualsiasi delle nostre variabili PATH se il percorso remoto è un sottoinsieme di un altro percorso. Ad esempio, se il PATH contiene “C: Windows system32 wbem” e rimuovi “C: Windows system32″, il risultato è davvero ” wbem”. WriteEnvStr non impedisce le voci duplicate e se il cliente esegue l’installatore per più durate (altrimenti il codice dell’installatore non verifica i duplicati). Tuttavia, queste procedure vengono conservate per Windows 9x ME e nelle sezioni seguenti perché EnvVarUpdate non supporta la modifica delle variabili in ciascuno dei nostri file autoexec.bat.
La tua variabile individuale
Se hai installato/disinstallato hai acquistato la tua variabile di natura MYVAR invece di specificare una forma di variabile esistente come variabile di ambiente PATH:
Codice funzione
Funzioni disponibili per Windows 95, 98 e ME
Se il cliente desidera disperatamente impostare una variabile di ambiente che dovrebbe essere lasciata a tutti gli altri processi anche dopo un riavvio, questo è ciò che è effettivamente necessario fare. Per usarli, salvane uno come file nsh. E incollali tutti nel tuo script, o semplicemente copiali e mettili nel tuo script. Se acquisti, registrati come .NSH usa:
! includi WriteEnvStr.nsh # forse qualsiasi altro nome scelto dalla tua organizzazione# ... "Aggiungere aSezione Env Var" Fare clic su MyEnvVar Premi MyEnvVarValue WriteEnvStr callFine relativa alla sezione#...Elimina sezione # Rimuovi variabile di solito Push MyEnvVar Chiamare un.DeleteEnvStrFine della sezione
Se vuoi che la variabile d’ambiente sia disponibile per tutti gli utenti che usano il loro computer, imposta ALL_USERS prima di abilitare WriteEnvStr.nsh (o prima della parte la voce che abilita queste funzionalità, se le famiglie non l’hanno ridotta come una delle principali .NSH file). Per esempio:
! Definisci ALL_USERS! includi WriteEnvStr.nsh # o il nome che scegli
Codice funzione
Nota. Se sei l’applicazione di Windows su 9x, dovrai riavviare il proprio computer affinché le modifiche abbiano effetto. Il flag di riavvio per queste funzioni viene attivato nel momento in cui è effettivamente necessario un riavvio.Attenzione: questo script funziona su NSIS 2.0b2 e versioni successive!
! ifndef _WriteEnvStr_nsh! set _WriteEnvStr_nshUN! abilitare WinMessages.nshUN! ifndef WriteEnvStr_RegKey ! ifdef ALL_USERS Pronuncia le parole chiaramente! WriteEnvStr_RegKey n 'HKLM "SYSTEM CurrentControlSet Control Session Manager Environment"' !un altro ! imposta WriteEnvStr_RegKey 'HKCU "Ambiente"' ! finisci se! finisci seUN## WriteEnvStr - scrivi la variabile del paese# Nota: i prodotti Win9x richiedono un riavvio## Esempio:# Fare clic sulla designazione del numero "HOMEDIR"# Premere il conteggio "C: New Home Dir "Chiamando # WriteEnvStr#Funzione WriteEnvStr Modifica 1; $ 1 ha la cura dell'elemento ambiente scambio Scambia $ 0. $ 0 ha il nome in una variabile d'ambiente 2 Fare clic su $UN Chiama NT Pop 2 StrCmp dollari 2 1 WriteEnvStr_NT - Non NT su StrCpy $ 2 $ WINDIR 2; Controllo della finestra di copia (c :) FileOpen $ 2 "$ 2 autoexec.bat" a FileSeek $ 2 0 FINE FileWrite $ 2 "$ s $ nSET $ 0 = rr 1 $ r $ n" FileChiudi $ 2 SetRebootFlag true Vai a WriteEnvStr_doneUN ScriviEnvStr_NT: WriteRegExpandStr denaro WriteEnvStr_RegKey $ 0 $ 1 Invia messaggio $ HWND_BROADCAST $ WM_WININICHANGE n 7 "STR: Ambiente" / TIMEOUT = 5000UN WriteEnvStr_done: Pop 2 Pop $ 0 Pop 1Funzione di chiusuraUN## un.DeleteEnvStr - Elimina la variabile delle impostazioni sane.# Nota: i sistemi Win9x richiedono un riavvio## Esempio:# "HOMEDIR" premi il nome del numero# Chiama un.DeleteEnvStr#Funzione Un.DeleteEnvStr Cambio $ 0; $ 0 ora ha un indirizzo di elemento Fare clic su $ 1 Fare clic su $ 2 Fare clic su $ 3 Premi $ 4 Premi dollaro 5UN Chiama an.IsNT Pop 1 StrCmp ? rrr 1 5 EliminaEnvStr_NT ; Non prima di NT StrCpy RR 1 $ WINDIR 2 FileOpen $ 1 "$ 1 autoexec.bat" r GetTempFileName $ 4 FileApri $ 2 $ 4 settimane StrCpy $ 0 "SET $ tre =" SetRebootFlag trueUN EliminaEnvStr_dosLoop: Lettura di un file funzionale $ 1 $ 3 StrLen $ 5 $ 0 StrCpy $ 3 rrr 5 $ 5 StrCmp $ 5 $ 0 EliminaEnvStr_dosLoop StrCmp $ 5 "" DeleteEnvStr_dosLoopEnd Scrivi file reddito 2 $ 3 Vai a DeleteEnvStr_dosLoopUN EliminaEnvStr_dosLoopEnd: FileChiudi $ 2 FileChiudi $ 1 StrCpy $ 1 rrr WINDIR 2 Rimuovi "$ 1 autoexec.bat" CopyFiles / SILENT $ 4 "$ uno singolo autoexec.bat" rr 4 rimuovi Vai a EliminaEnvStr_doneUN RimuoviEnvStr_NT: DeleteRegValue $ WriteEnvStr_RegKey $ 0 Invia messaggio $ HWND_BROADCAST $ WM_WININICHANGE n 0 "STR: Ambiente" / TIMEOUT implica 5000UN EliminaEnvStr_done: Pop 5 Pop - $ 4 Pop $ 3 Pop 2 Pop 1Pop rr 0Fine della funzioneUN! ifndef IsNT_KiCHiKDefinisci IsNT_KiCHiKUN## [a.] IsNT - premere 1 se NT è in esecuzione, altrimenti## Esempio:# Chiama NT# Pop $ 0# StrCmp rr 0 1 +3# MessageBox MB_OK "Non su NT!"# Vai a +2# MessageBox MB_OK "Funziona su NT!"#! La macro NON è UNA$ Funzione UNIsNT Fare clic su $ 0 ReadRegStr $ 0 HKLM n "SOFTWARE Microsoft Windows NT CurrentVersion" Versione corrente StrCmp usd 0 "" niente IsNT_yes ; potremmo essere non solo NT. Pop $ 0 Premere 0 RitornareUN IsNT_ja: -NT!!! Pop $ 0 Premere 1Fine creato dalla funzione! macrofin! Inserisci la macro isNT ""! inseriremacro IsNT "a."UN! finisci se; IsNT_KiCHiKUN! endif - _WriteEnvStr_nsh
Accelera il tuo computer oggi con questo semplice download.
How To Troubleshoot Nsis Runtime Variables
Fehlerbehebung Bei Nsis-Laufzeitvariablen
Problemen Met Nsis-runtimevariabelen Oplossen
Comment Dépanner Les Variables D’exécution Nsis
Nsis 런타임 변수 문제를 해결하는 방법
Como Solucionar Problemas De Variáveis de Tempo De Execução Nsis
Så Här Felsöker Du Nsis -körtidsvariabler
Как устранить неполадки переменных времени выполнения Nsis
Cómo Solucionar Problemas De Variables De Tiempo De Ejecución De Nsis
Jak Rozwiązywać Problemy Ze Zmiennymi Wykonawczymi Nsis?