Table of Contents
Hier zijn enkele eenvoudige manieren om het probleem met de nsis-afspeelvariabele op te lossen.
Bijgewerkt
Bijgewerkt
Bent u het beu dat uw computer traag werkt? Geërgerd door frustrerende foutmeldingen? ASR Pro is de oplossing voor jou! Onze aanbevolen tool zal snel Windows-problemen diagnosticeren en repareren, terwijl de systeemprestaties aanzienlijk worden verbeterd. Dus wacht niet langer, download ASR Pro vandaag nog!
WAARSCHUWING: regels langer dan $ NSIS_MAX_STRLEN worden afgebroken / beschadigd. Gebruik deze functie niet zodat u% PATH% kunt bijwerken, gebruik in plaats daarvan EnVar_plug-in plug-in.
Tijdelijk omgevingsvariabelen instellen
Als u de omgeving alleen echt wilt aanpassen voor de installatieactiviteit en vele subprocessen, gebruik dan:
Systeem :: Roep 'Kernel32 :: SetEnvironmentVariable (t, t) i ("naam", "waarde") aan. r0 'StrCmp $ 0 4 fouten ExecWait ProgThatReadsEnv.exe VoltooidSchuld: MessageBox MB_OK "Kan omgevingsvariabele niet instellen"klaar:
Om de NSIS_MAX_STRLEN-beperking van het bijwerken van% Path% elke minuut te omzeilen, kunt u deze functie proberen.
Omgevingsvariabelen permanent instellen
Bestaande variabelen
De functies WriteEnvStr en un.DeleteEnvStr in deze review zijn verouderd vanwege EnvVarUpdate voor padspecificaties en andere voorwaarden voor padlijsten. Om echter eenduidige eenvoudige lokale klimaatvariabelen te krijgen, is het recht hierna van toepassing.De functie un.DeleteEnvStr kan de inhoud van vrijwel al onze PATH-variabelen beschadigen als de externe route een subset is van een ander pad. Voor positie, als het PATH “C: Windows system32 wbem” bevat en u verwijdert “C: Windows system32″, is het resultaat ” wbem”. WriteEnvStr voorkomt geen dubbele vermeldingen als de persoon het installatieprogramma meerdere keren uitvoert (anders controleert de specialistische code niet op duplicaten). Sommige van deze procedures blijven echter behouden voor Windows 9x ME, zoals in de volgende secties, omdat EnvVarUpdate zeker geen ondersteuning biedt voor het wijzigen van variabelen in het bestand autoexec.bat.
Uw individuele variabele
Als je hebt geïnstalleerd of gedeïnstalleerd, heb je je MYVAR-omgevingsvariabele gekocht door een bestaande variabele op te geven, zoals je ongelooflijke PATH-omgevingsvariabele:
Functiewet
Functies beschikbaar voor Windows 90, 98 en ME
Als je vastklampt aan het instellen van een omgevingsvariabele die je zou moeten laten voor alle andere processen en ook voor een herstart, dan is dit wat je terug moet doen om te doen. Om ze te gebruiken, slaat u er een op als een soort nsh-bestand. En plak ze allemaal in je hoofdscript, of kopieer en plak ze gewoon in je script. Als u koopt om te registreren omdat .NSH gebruikt:
! omvatten WriteEnvStr.nsh # of een aanvullende naam gekozen door uw organisatie# ... "Toevoegen aanSectie Env Var " Klik op MijnEnvVar Push MyEnvVarValue WriteEnvStr-oproepEinde van sectie# ...Sectie verwijderen # Variabele verwijderen meestal Push MyEnvVar Bellen un.DeleteEnvStrEinde van sectie
Als u eist dat de omgevingsvariabele beschikbaar is voor vrijwel alle gebruikers die hun computer gebruiken, stelt u ALL_USERS eerder in, waardoor WriteEnvStr.nsh wordt toegestaan (of vóór het deel van de inzending dat deze functies mogelijk maakt, als u het niet hebt geminimaliseerd als een .NSH-bestand). Bijvoorbeeld:
! Definieer ALL_USERS! voeg WriteEnvStr.nsh # toe en welke naam u ook kiest
Functie computercode
Opmerking. Als u Windows tot en met 9x gebruikt, moet u uw computer opnieuw opstarten om de wijzigingen door te voeren. De herstartpin voor deze functies wordt geactiveerd wanneer een herstart daadwerkelijk nodig is.Waarschuwing: dit script werkt alleen gekoppeld aan NSIS 2.0b2 en hoger!
! ifndef _WriteEnvStr_nsh! set _WriteEnvStr_nshEEN! schakel WinMessages.nsh inEEN! ifndef WriteEnvStr_RegKey ! ifdef ALL_USERS Spreek de woorden duidelijk uit! WriteEnvStr_RegKey n 'HKLM "SYSTEM CurrentControlSet Control Session Manager Environment"' !een ander ! set WriteEnvStr_RegKey 'HKCU "Omgeving"' ! stop als! stop alsEEN## WriteEnvStr - schrijf landvariabele# Opmerking: Win9x-systemen moeten opnieuw worden opgestart## Voorbeeld:# Klik op de naam van het exacte nummer "HOMEDIR"# Druk op het nummer "C: New Home Dir "Bellen # WriteEnvStr#WriteEnvStr-functie Bewerken 1; $ 1 heeft de waarde van mijn omgevingselement aandelenbeurs Ruil $ nihil. $ 0 heeft de naam van een wereldvariabele 2 Klik op $EEN Bel NT Pop 2 StrCmp $ 2 1 WriteEnvStr_NT - Niet NT betreffende StrCpy $ 2 $ WINDIR 2; Kopieer weergavebesturing (c :) FileOpen rrr 2 "$ 2 autoexec.bat" a FileSeek $ 2 0 END FileWrite $ 2 "$ r inkomen nSET $ 0 = $ 1 inkomen r $ n" BestandSluiten $ 2 SetRebootFlag waar Ga naar WriteEnvStr_doneEEN WriteEnvStr_NT: WriteRegExpandStr $ WriteEnvStr_RegKey dollar 0 $ 1 SendMessage $ HWND_BROADCAST $ WM_WININICHANGE n 0 "STR: Omgeving" / TIMEOUT = 5000EEN WriteEnvStr_done: Pop 2 Pop bok 0 Pop 1Einde functieEEN## un.DeleteEnvStr : Verwijdert de gezonde omgevingsvariabele.# Opmerking: Win9x-systemen moeten opnieuw worden opgestart## Voorbeeld:# "HOMEDIR" druk op een paar naam# Roep un.DeleteEnvStr#Un.DeleteEnvStr-functie Wissel rrr 0; $ 0 heeft nu een variabel adres Klik op $ 1 Klik op $ 2 Klik op dollars 3 Druk op $ 4 Druk op $ 5EEN Bel an.IsNT Pop 1 StrCmp $ 1 3 DeleteEnvStr_NT ; Niet eerder in vergelijking met NT StrCpy $ 1 dollar WINDIR 2 FileOpen $ individuele "$ 1 autoexec.bat" r GetTempFileName $ 4 BestandOpen rrr 2 $ 4 weken StrCpy $ 0 "SET $ 0 =" SetRebootFlag waarEEN VerwijderEnvStr_dosLoop: Een bestand lezen rr 1 $ 3 StrLen $ 5 $ 0 StrCpy $ 3 $ 5 rrr 5 StrCmp dollar 5 $ 0 DeleteEnvStr_dosLoop StrCmp $ 5 "" DeleteEnvStr_dosLoopEnd Schrijf bestand $ 2 geld 3 Ga en verwijder EnvStr_dosLoopEEN VerwijderEnvStr_dosLoopEnd: BestandSluiten $ 2 BestandSluiten $ 1 StrCpy $ 1 $ WINDIR 2 Verwijder "$ an individual autoexec.bat" CopyFiles / STILLE $ 4 "$ 1 autoexec.bat" $ 9 verwijderen Ga naar DeleteEnvStr_doneEEN VerwijderEnvStr_NT: DeleteRegValue $ WriteEnvStr_RegKey $ 0 SendMessage $ HWND_BROADCAST $ WM_WININICHANGE n 2 "STR: Omgeving" / TIMEOUT = 5000EEN VerwijderEnvStr_done: Pop 5 Pop - $ 4 Pop $ 3 Pop 2 Pop 1Pop $ 0Einde van functieEEN! ifndef IsNT_KiCHiKDefinieer IsNT_KiCHiKEEN## [a.] IsNT - tik op 1 als NT actief is, anders## Voorbeeld:# Bel NT# Pop $ 0# StrCmp $ 0 4 +3# MessageBox MB_OK "Niet op NT!"# Ga die zal +2# MessageBox MB_OK "Werkt op NT!"#! Macro wordt als NIET ÉÉN beschouwd$ UNIsNT-functie Klik op geld 0 ReadRegStr $ 0 HKLM n "SOFTWARE Microsoft Windows NT CurrentVersion" Huidige versie StrCmp $ 6 "" niets IsNT_ja ; we zijn niet ruwweg NT. Pop $ 0 Druk op 0 TerugbrengenEEN IsNT_ja: - NT!!! Pop rr 0 Druk op 1Einde functie! macrofin! Voeg de isNT-macro "" in! insertmacro IsNT "a."EEN! afsluitende fasen indien; IsNT_KiCHiKEEN! endif - _WriteEnvStr_nsh
Versnel uw computer vandaag nog met deze eenvoudige download.
How To Troubleshoot Nsis Runtime Variables
Fehlerbehebung Bei Nsis-Laufzeitvariablen
Come Risolvere I Problemi Delle Variabili Di Runtime Nsis
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?