Link to Sourceforge is dead!
For those who don´t wont a log file and without a Gui is here a stripped autoit code:
--> for the silent installation.
#include <array.au3>
; load given notepad files in Array
Dim $Files[7] = [@WindowsDir & "\servicepackfiles\i386\notepad.exe", _
@WindowsDir & "\source\WinXP\i386\notepad.exe", _
@SystemDir & "\dllcache\notepad.exe", _
@SystemDir & "\notepad.exe", _
@WindowsDir & "\notepad.exe", _
@HomeDrive & "\i386\notepad.exe", _
@HomeDrive & "\i386\NOTEPAD.EX_"]
_ArrayDisplay($Files)
;backup MS-Notepad.exe
$WinBU=DirCreate(@WindowsDir & "\Notepad-backup")
If FileExists($Files[4]) Then FileCopy($Files[4], $WinBU, 1)
If FileExists($Files[5]) Then FileCopy($Files[5], $WinBU, 1)
If FileExists($Files[6]) Then FileCopy($Files[6], $WinBU, 1)
;temporary disables protection for MS-Notepad.exe
$Srcfile=@ScriptDir&"\notepad.exe"
For $Element In $Files
If FileExists($Element) Then DllCall(@SystemDir & "\SFC_OS.DLL","dword", 5, "dword", 0, "wstr", $Element, "dword", -1)
Next
If FileExists($Element) Then FileCopy($Srcfile, $Element, 1)
Exit
For the outstanding reader the compiled "MS-Notepad_Replacer_noGUI+Log.exe"
--> for the silent installation.
http://uploaded.to/?id=apw67d
==========================================
Here is a picture from the MS-Notepad-Replacer with a Gui:
NPP__GUI_eng.jpg (25.66K)
Number of downloads: 19
Here the autoit code from the MS-Notepad-Replacer with Gui for a running System:
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.2.8.1
Author: Olivio
With friendly Help from German nLite Board from Zio82draw, AspirinJunkie
[url="http://www.german-nlite.de"]http://www.german-nlite.de[/url]
Script Function: Temporary disables Protection for MS-Notepad.exe and
replace it with the Notepad++ Launcher.
#ce ----------------------------------------------------------------------------
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;~~~~~~~~~~~~~~~~~~~~~~ - TranslateSection Start - ~~~~~~~~~~~~~~~~~~~~~~~
;~~~~~~~~~~~~~ !! Only between " " , otherwise it will crash !! ~~~~~~~~~~~~~~~~~~
;~~~~ i.e. "Notepad++ Replacer" become "Notepad++ Remplaçant" in france ~~~~~~~~~
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;---GUI-----------------------------
$Npprpl = "Notepad++ Replacer" ; Titel of GUI, if you want to translate
$Quest1a = "Would you really replace the"
$Quest1b = " MS - Notepad.exe ?"
$State1a = " Backup will be taken in"
$State1b = "'Windir - Notepad-backup'."
$State2a = "After replacing, you can read"
$State2b = " the Logfile in Notepad++."
$Buttn_r = "Replace"
$Buttn_c = "Cancel"
;--- 1. MSG - Box--------------------
$Warn = "Warning!"
$Quest2a = "An open session of the notepad.exe excist"
$Quest2b = "Please save your Session right now !"
$Quest2c = "Otherwise the Session will be closed in 20 Seconds"
;--- 2. MSG - Box--------------------
$State3 = "Successfully Replaced"
$Quest3a = "MS-Notepad.exe are all replaced by Launcher"
$Quest3b = "Would you read the Logfile now in Notepad++ ?"
;~~~~~~~~~~~~~~~~~~~~~~ - TranslateSection End - ~~~~~~~~~~~~~~~~~~~~~~~~~
;~~~~~~~~~~~~ !! Don´t translate under this line anything else!! ~~~~~~~~~~~~~~~~~
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Opt("TrayIconHide", 1)
Opt("GUICloseOnESC", 1)
#include <GuiConstants.au3>
$Pic = (".\npp.logo1.gif")
$Quest1 = $Quest1a & @CRLF & $Quest1b
$State1 = $State1a & @CRLF & $State1b
$State2 = $State2a & @CRLF & $State2b
$date = (@MDAY&"."&@MON&"."&@YEAR&" - "&@HOUR&":"&@MIN&":"&@SEC)
GuiCreate($Npprpl, 384, 281,-1, -1 , BitOr($GUI_SS_DEFAULT_GUI, $WS_EX_TOPMOST))
GUISetIcon("Icon_3.ico")
GuiCtrlCreatePic($Pic, 0, 0, 164, 314)
$Group_2 = GuiCtrlCreateGroup("", 175, 5, 200, 180)
$Button_3 = GuiCtrlCreateButton($Buttn_r, 181, 210, 85, 40)
$Button_4 = GuiCtrlCreateButton($Buttn_c, 283, 210, 85, 40)
GUICtrlCreateLabel($Quest1, 210, 35)
GUICtrlCreateLabel($State1, 210, 83)
GUICtrlCreateLabel($State2, 207, 133)
GuiSetState()
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $Button_4
Exit
Case $msg = $Button_3
_replace()
Exit
EndSelect
WEnd
Exit
Func _replace()
$rpfile=".\" & $npx
$ServPf=@WindowsDir & "\servicepackfiles\i386\" & $npx
$WinSwI=@WindowsDir & "\source\WinXP\i386\" & $npx
$dlCaN=@SystemDir & "\dllcache\" & $npx
$SysNp=@SystemDir & "\" & $npx
$Wnpx=@WindowsDir & "\" & $npx
$npx="notepad.exe"
$log = FileOpen('Notepad.log', 2)
FileWriteLine($log, $date & " - " & "Start the Notepad Replacement Logfile" & @CRLF & @CRLF)
If ProcessExists("notepad.exe") > 0 Then
MsgBox(32, $Warn, $Quest2a & @CRLF & $Quest2b & @CRLF & $Quest2c, 20)
While ProcessExists($npx)
ProcessClose($npx)
Wend
If ProcessClose($npx) > 0 Then
FileWriteLine($log, $date & " - " & "OK - open Notepad Process successfully closed" & @CRLF & @CRLF)
EndIf
Else
FileWriteLine($log, $date & " - " & "No open Notepad Process to close" & @CRLF & @CRLF)
EndIf
;backup Microsoft Notepad.exe
$WinBU=@WindowsDir & "\Notepad-backup\notepad.exe"
If FileExists($Wnpx) Then FileCopy($Wnpx, $WinBU, 1)
If FileCopy($Wnpx, $WinBU, 1) > 0 Then
FileWriteLine($log, $date & " - " & "OK - Notepad successfully copied in Notepad Backup" & @CRLF & @CRLF)
Else
FileWriteLine($log, $date & " - " & "No notepad.exe in 'WinDir'" & @CRLF & @CRLF)
EndIf
$HmDr1=@HomeDrive & "\i386\notepad.exe"
If FileExists($HmDr1) Then FileCopy($HmDr1, $WinBU, 1)
If FileCopy($HmDr1, $WinBU, 1) > 0 Then
FileWriteLine($log, $date & " - " & "OK - notepad.exe successfully copied in Notepad Backup" & @CRLF & @CRLF)
Else
FileWriteLine($log, $date & " - " & "No notepad.exe in 'HomeDrive\i386'" & @CRLF & @CRLF)
EndIf
$HmDr2=@HomeDrive & "\i386\NOTEPAD.EX_"
If FileExists($HmDr2) Then FileCopy($HmDr2, @WindowsDir & "\Notepad-backup\NOTEPAD.EX_", 1)
If FileCopy($HmDr2, @WindowsDir & "\Notepad-backup\NOTEPAD.EX_", 1) > 0 Then
FileWriteLine($log, $date & " - " & "OK - NOTEPAD.EX_ successfully copied in Notepad Backup" & @CRLF & @CRLF)
Else
FileWriteLine($log, $date & " - " & "No NOTEPAD.EX_ in 'HomeDrive\i386'" & @CRLF & @CRLF)
EndIf
;temporary disables protection for notepad.exe
Dim $Array[7]
$Array[0] = $ServPf
$Array[1] = $dlCaN
$Array[2] = $SysNp
$Array[3] = $Wnpx
$Array[4] = $HmDr1
$Array[5] = $HmDr2
$Array[6] = $WinSwI
For $Element In $Array
If FileExists($Element) Then DllCall(@SystemDir & "\SFC_OS.DLL","dword", 5, "dword", 0, "wstr", $Element, "dword", -1)
Next
;notepad replacing in given dir
If FileExists($ServPf) Then FileCopy($rpfile, $ServPf, 1)
If FileCopy($rpfile, $ServPf, 1) > 0 Then
FileWriteLine($log, $date & " - " & "OK - Launcher successfully copied in 'servicepackfiles\i386'" & @CRLF & @CRLF)
Else
FileWriteLine($log, $date & " - " & "No notepad.exe in 'servicepackfiles\i386'" & @CRLF & @CRLF)
EndIf
If FileExists($dlCaN) Then FileCopy($rpfile, $dlCaN, 1)
If FileCopy($rpfile, $dlCaN, 1) > 0 Then
FileWriteLine($log, $date & " - " & "OK - Launcher successfully copied in '\dllcache'" & @CRLF & @CRLF)
Else
FileWriteLine($log, $date & " - " & "No notepad.exe in '\dllcache'" & @CRLF & @CRLF)
EndIf
If FileExists($SysNp) Then FileCopy($rpfile, $SysNp, 1)
If FileCopy($rpfile, $SysNp, 1) > 0 Then
FileWriteLine($log, $date & " - " & "OK - Launcher successfully copied in 'systemdir'" & @CRLF & @CRLF)
Else
FileWriteLine($log, $date & " - " & "No notepad.exe in 'systemdir'" & @CRLF & @CRLF)
EndIf
If FileExists($Wnpx) Then FileCopy($rpfile, $Wnpx, 1)
If FileCopy($rpfile, $Wnpx, 1) > 0 Then
FileWriteLine($log, $date & " - " & "OK - Launcher successfully copied in 'Windir'" & @CRLF & @CRLF)
Else
FileWriteLine($log, $date & " - " & "No notepad.exe in 'WinDir'" & @CRLF & @CRLF)
EndIf
If FileExists($HmDr1) Then FileCopy($rpfile, $HmDr1, 1)
If FileCopy($rpfile, $HmDr1, 1) > 0 Then
FileWriteLine($log, $date & " - " & "OK - Launcher successfully copied in 'HomeDrive\i386\'" & @CRLF & @CRLF)
Else
FileWriteLine($log, $date & " - " & "No notepad.exe in 'HomeDrive\i386'" & @CRLF & @CRLF)
EndIf
If FileExists($HmDr2) Then FileCopy($rpfile, $HmDr2, 1)
If FileCopy($rpfile, $HmDr2, 1) > 0 Then
FileWriteLine($log, $date & " - " & "OK - Launcher successfully copied to 'HomeDrive\i386\NOTEPAD.EX_'" & @CRLF & @CRLF)
Else
FileWriteLine($log, $date & " - " & "No NOTEPAD.EX_ in 'HomeDrive\i386'" & @CRLF & @CRLF)
EndIf
If FileExists($WinSwI) Then FileCopy($rpfile, $WinSwI, 1)
If FileCopy($rpfile, $WinSwI, 1) > 0 Then
FileWriteLine($log, $date & " - " & "OK - Launcher successfully copied in 'Windir\source\WinXP\i386'" & @CRLF & @CRLF)
Else
FileWriteLine($log, $date & " - " & "No NOTEPAD.EX_ in 'Windir\source\WinXP\i386'" & @CRLF & @CRLF)
EndIf
FileWriteLine($log, $date & " - " & "End of Notepad Replacement Logfile")
FileClose($log)
If MsgBox(262212, $State3, $Quest3a & @CRLF & @CRLF & $Quest3b) = 7 Then
Exit
EndIf
ShellExecute(@ScriptDir & '\Notepad.log')
EndFunc
For the outstanding reader the compiled "MS-Notepad-Replacer-Gui.exe" in zip

include the Notepad++launcher and the Notepad++ picture for the Gui.
see the picture:
http://s3.directuplo...8qhbanz_jpg.htm
--> for a running system.
http://uploaded.to/?id=4w4w4p
Jolli
This post has been edited by Jolli: 07 November 2008 - 05:53 AM