Alstom
21st November 2006 02:24 UTC
How to replace a text with machine name
hi, I want to replace a text with the machine name. How do i write the machine name in here??
Push "localhost" #-- text to be replaced within the " "
Push "$COMPUTERNAME" #-- replace with anything within the " "
Push all #-- replace all occurrences
Push all #-- replace all occurrences
Push $EXEDIR\file.txt #-- file to replace in
Call AdvReplaceInFile #-- Call the Function
How to replace the "$COMPUTERNAME" with the machine name??
zbd
21st November 2006 03:06 UTC
I would use a Var and not a define, so
; to access system info, include system plugin
!include "System.nsh"
; variable the computer name will be written to
Var COMPUTERNAME
Then in a section (probably .onInit Section) put this code to write the name to the variable specified above
; Read the computer name from system
System::Call "kernel32::GetComputerName(t .r0, *i ${NSIS_MAX_STRLEN})"
; Write the return to the Variable
StrCpy $0 $COMPUTERNAME
then just wherever u want it to say the computer name, have $COMPUTERNAME
hope it helps
p.s. not too sure if it works with 98, works with XP/2000
zbd
21st November 2006 03:59 UTC
sorry the last line should be like this
StrCpy $COMPUTERNAME $0
hate backwards typing :eek:
Alstom
21st November 2006 05:59 UTC
Sorry. I mean i want the local machine name to be replaced in the text.