WTF Is “Bulk Texture File Conversion” Shell-Menu-Item

The Convert to file format... context-menu item
and Bulk Texture File Conversion dialog,
are a shell-contextmenu item, added after registering TxView.dll which is a part of DirectX SDK package.

You’ll have the menu-item when you’ll right-click on the a Directory, jpegfile, Paint.Picture, pfmfile, pngfile and TxView.1 file-types classes,

Continue reading

Adding ‘Noto Mono’, ‘Courier New’, ‘Droid Sans Mono’, ‘Roboto Mono’, ‘Ubuntu Mono’ To Windows’ CMD

Just make sure you have those (you can google-search them or look for them at fonts.google.com, the ‘Courier New’ font-face should be already installed in your Windows).

feel free to edit/replace/add more,
make sure the fonts are mono-type, use ‘000…00’ as name.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont]
"000"="Noto Mono"
"0000"="Courier New"
"00000"="Droid Sans Mono"
"000000"="Roboto Mono"
"0000000"="Ubuntu Mono"

If you don’t know of name of the font (it should be exactly right!),
open any program that does some sort of font selection, and allows copy&paste, such as Microsoft-Word or even Notepad2/Notepad++.

Notepad2 has a “default font” selection, which I’m not going to actually change, but just use it to browse-for font-names.

the standard control-panel, used by most (simple) does also allow easy copy&paste.

Reverse Engineer – WD External Storage Driver Setup (x64/x86)

  • The WD External Storage Driver suitable for the entire line of myPassport USB Hard-Drives.
  • This article allows you to download both the original Windows Installer MSI file, and its content, (drivers only) and install them yourself.
    You may also embed the drivers to prepare a Windows setup through slipstream (just an idea).
  • The drivers are not modified in any way, and are digitally signed by WD certificate, so you may install them with no particular issue.
    Since it’s signed, there is No need to run those two commands:

    • bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS
    • bcdedit.exe -set TESTSIGNING ON

Driver’s version

  • from INF: 1.0.0009.0
  • from files: 1.0.7.2 (actual)

Driver’s created

  • INF reports: Jan 19th 2011
  • from files: February 16th 2011 (actual)

x86
Original.
wd_installer_x86
WD SES Driver Setup (x86).msi [678KB]

Drivers only.
wd_ses_driver_only_x86
WD SES Drivers Only (x86).zip [17KB]

Extract anywhere, installed by right click, install.
Or run C:\System32\InfDefaultInstall.exe "wdcsam.inf".


x64
Driver’s version: 1.0.0009.0, Actual version (from files) 1.0.7.2
Driver Created: Jan 19th 2011, Actual date (from files) February 16th 2011

Original.
wd_installer_x86
WD SES Driver Setup (x64).msi [1.03MB]

Drivers only.
wd_ses_driver_only_x64
WD SES Drivers Only (x64).zip [17KB]

Extract anywhere, installed by right click, install.
Or run C:\System32\InfDefaultInstall.exe "wdcsam.inf".

Continue reading

Solved: ThinApp Registry Export

Say you want to convert VMWare’s ThinApp (formerly known as Thinstall) Registry,
From the sanbox-virtual format (those text files in your capture/project-name folder) To something a human can be easily read, say, a windows registry file.

Why? well.. maybe you’ve just captured a setup process in-order to check what has been changed on your operation-system.

A really common reason to use ThinApp without actually building anything at the end, at least among the VM-savvy engineers is for the sake of tracking the changes to the operation-system, in hope of simplifying installations, in cases all you may need is a pair of exe-and-reg files and no need for an overkill of sandboxing an entire application + virtualapp-engine.
~
ThinApp does a very good job of capturing even the deepest registry changes (including those of permission limitation or ones which does not “really exist”, such as soft symbolic-linked keys for example under HKEY_USERS (which are common enough).

Another way of comparing registry changes including dumping the entire registry (before and after..) and comparing the the .REG files using a program such as BeyondCompare.

A similar method but somehow slightly easier is the usage of Registry-Workshop, and the “before” and “after” snapshots feature, following the built-in compare-engine which is pretty much a nice wrap around the same thing (above) except using the program’s internal-compare engine which also allows to jump-into the inspected values, sync changes, etc…

So..

I’ve captured a nice little freeware called foxit PDF
and got the familiar folder structure (before building anything!)

icompile.eladkarako.com_thinapp_thinstall_virtual_registry_tvr_convert_to_reg_key1

If you’ll have a look (just a look, don’t worry..)
inside the build.bat batch-file,
You’ll see part of the command we’ll going to use, which is actually part of creating the virtual-sandbox,
in-particularity- the REGISTRY part:

icompile.eladkarako.com_thinapp_thinstall_virtual_registry_tvr_convert_to_reg_key2_batch_look

After the hint, it is time for the solution walk-through:

  1. Under your ThinApp folder (same level where you’ll find the Setup Capture.exe file create a new folder, named reg_convert.
    icompile.eladkarako.com_thinapp_thinstall_virtual_registry_tvr_convert_to_reg_key_folder1
  2. Under reg_convert create two folder named in and out
    icompile.eladkarako.com_thinapp_thinstall_virtual_registry_tvr_convert_to_reg_key_folder2
  3. Under in folder, copy the Package.ini from your captured-package,
    or use this generic, minimal Package.ini

    you only need the part related to setup-capture, mostly the versioning of the capturing engine of ThinApp, and the code-page [language] of 1033 [English] might be useful in-case you have registry keys with foreign-characters, which in this case you might want to have a look at the values of one of your original captured Package.ini files, or Google it.. 1037 is Hebrew :]

    [Compression]
    CompressionType=None
    
    [Isolation]
    DirectoryIsolationMode=Merged
    
    [BuildOptions]
    ;-------- Parameters used only during Setup Capture  ----------
    AccessDeniedMsg=You are not currently authorized to run this application. Please contact your administrator.
    CapturedUsingVersion=5.1.0-2079447
    CaptureProcessorArchitecture=0
    CapturePlatformVersion=0501
    CaptureOSArchitecture=32
    CaptureOSMajorVersion=5
    CaptureOSMinorVersion=1
    CaptureOSSuite=256
    CaptureOSProductType=1
    CaptureOSCSDVersion=Service Pack 3
    CaptureOSProcessorCoreCount=2
    CaptureOSRemoteSession=0
    CaptureOSVMwareVM=1
    OutDir=bin
    
    AnsiCodePage=1255
    LocaleIdentifier=1033
    
    AltArchitectureShortcut=0
    QualityReportingEnabled=0
    

    icompile.eladkarako.com_thinapp_thinstall_virtual_registry_tvr_convert_to_reg_key_folder3

  4. Still under the in folder, you should now copy (just) the registry files (.TXT) from your captured project.

    You do not have to copy them all, and you are well encouraged to make them as small and lite as possible by removing values that are not needed. The smaller and fewer they’ll be, the faster the entire process will be completed.

    For example I’ll going to remove the following “keys/values/data” since they are not needed or even related to the package itself, even more than that, those can collide with the operation-system’s more recent-values (in-case I’ll be building the project later..)
    icompile.eladkarako.com_thinapp_thinstall_virtual_registry_tvr_convert_to_reg_key_can_make_registry_txt_files_smaller

  5. At this point, we will generate a virtual-sandbox holding just the registry values (no files), using the vregtool.exe command.

    1. open up CMD and navigate to where you have your vregtool.exe
      (same place you’ll have reg_convert).
      cd c:\.......\ThinApp\
    2. run vregtool.exe reg_convert\out\reg.tvr ImportDir reg_convert\in\,
      icompile.eladkarako.com_thinapp_thinstall_virtual_registry_tvr_convert_to_reg_key_generate_tvr_of_just_registry_values2
      You may ignore warnings, or remove any extra-empty lines at the bottom of the txt files,
      It will take few seconds, and you’ll find the tvr file under the out folder.
      icompile.eladkarako.com_thinapp_thinstall_virtual_registry_tvr_convert_to_reg_key_generate_tvr_result
      1. Almost done, we will, now, extract the actual registry key (in the standard windows format) from the virtual-sandbox, exporting it to the same out folder.

        run:vregtool.exe reg_convert\out\reg.tvr ExportReg reg_convert\out\registry.reg
        icompile.eladkarako.com_thinapp_thinstall_virtual_registry_tvr_convert_to_reg_key_generate_final_registry_key_result
        You’ll find your result file under the out folder as well as the old tvr file.
        icompile.eladkarako.com_thinapp_thinstall_virtual_registry_tvr_convert_to_reg_key_generate_final_registry_key_result_in_folder

      2. Done.

        naturally a cleanup will be required in-order to use the same method of converting txttvrreg,
        remove the txt files under in folder, keep Package.ini file there to be used the next time.
        you can safely remove the entire content of the out folder (the reg.tvr, and once you’ll be done with it- the registry.reg file).

        Naturally a batch file can quite easily be generated,
        You can make one to drag&drop the entire captured-folder, allowing automated copy, generating the copying back the result to your captured-project, in same place as the txt files, to keep things organised by project. :)

      Hope it helps ! :]

      Happy engineering day :]]

CCleaner INI Rip

CCleaner has internal resources, such as EXE, INI, string tables for languages, PNG and Bitmaps,
Here is the INI section, which might help you understand what is behind each cleanup section,
the format is the same format as the custom INI you can add or the ccleaner.ini that stores the settings for you (on portable version it sits under the same folder as ccleaner.exe)
Continue reading

PUTTY Theme And Logs

There are few tweaks that make PUTTY (raw PUTTY, no other software nor plugins) nicer,
the Desert-Theme from igvita.com is one of them, other may be logging and unlimited scroll backward, right click menu and username pasted automatically, merged into one REG file,

just copy&&paste it to an empty text file and change its extension to *.reg,
then double click and you’ll have a new line for a demo,
load it and change the IP, and username to something that will be useful to you.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\root@172.29.40.112]
"Present"=dword:00000001
"HostName"="172.29.40.112"
"LogFileName"="D:\\LOGS\\log_host&H_y&Ym&Md&D_t&T.txt"
"LogType"=dword:00000001
"LogFileClash"=dword:00000000
"LogFlush"=dword:00000001
"SSHLogOmitPasswords"=dword:00000001
"SSHLogOmitData"=dword:00000000
"Protocol"="ssh"
"PortNumber"=dword:00000016
"CloseOnExit"=dword:00000001
"WarnOnClose"=dword:00000001
"PingInterval"=dword:00000000
"PingIntervalSecs"=dword:00000000
"TCPNoDelay"=dword:00000001
"TCPKeepalives"=dword:00000001
"TerminalType"="xterm"
"TerminalSpeed"="38400,38400"
"TerminalModes"="CS7=A,CS8=A,DISCARD=A,DSUSP=A,ECHO=A,ECHOCTL=A,ECHOE=A,ECHOK=A,ECHOKE=A,ECHONL=A,EOF=A,EOL=A,EOL2=A,ERASE=A,FLUSH=A,ICANON=A,ICRNL=A,IEXTEN=A,IGNCR=A,IGNPAR=A,IMAXBEL=A,INLCR=A,INPCK=A,INTR=A,ISIG=A,ISTRIP=A,IUCLC=A,IXANY=A,IXOFF=A,IXON=A,KILL=A,LNEXT=A,NOFLSH=A,OCRNL=A,OLCUC=A,ONLCR=A,ONLRET=A,ONOCR=A,OPOST=A,PARENB=A,PARMRK=A,PARODD=A,PENDIN=A,QUIT=A,REPRINT=A,START=A,STATUS=A,STOP=A,SUSP=A,SWTCH=A,TOSTOP=A,WERASE=A,XCASE=A"
"AddressFamily"=dword:00000001
"ProxyExcludeList"=""
"ProxyDNS"=dword:00000001
"ProxyLocalhost"=dword:00000000
"ProxyMethod"=dword:00000000
"ProxyHost"="proxy"
"ProxyPort"=dword:00000050
"ProxyUsername"=""
"ProxyPassword"=""
"ProxyTelnetCommand"="connect %host %port\\n"
"Environment"=""
"UserName"="root"
"UserNameFromEnvironment"=dword:00000000
"LocalUserName"="root"
"NoPTY"=dword:00000000
"Compression"=dword:00000000
"TryAgent"=dword:00000001
"AgentFwd"=dword:00000000
"GssapiFwd"=dword:00000000
"ChangeUsername"=dword:00000000
"Cipher"="aes,blowfish,3des,WARN,arcfour,des"
"KEX"="dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,rsa,WARN"
"RekeyTime"=dword:0000003c
"RekeyBytes"="1G"
"SshNoAuth"=dword:00000000
"SshBanner"=dword:00000001
"AuthTIS"=dword:00000000
"AuthKI"=dword:00000001
"AuthGSSAPI"=dword:00000001
"GSSLibs"="gssapi32,sspi,custom"
"GSSCustom"=""
"SshNoShell"=dword:00000000
"SshProt"=dword:00000002
"LogHost"=""
"SSH2DES"=dword:00000000
"PublicKeyFile"=""
"RemoteCommand"=""
"RFCEnviron"=dword:00000000
"PassiveTelnet"=dword:00000000
"BackspaceIsDelete"=dword:00000001
"RXVTHomeEnd"=dword:00000000
"LinuxFunctionKeys"=dword:00000000
"NoApplicationKeys"=dword:00000000
"NoApplicationCursors"=dword:00000000
"NoMouseReporting"=dword:00000000
"NoRemoteResize"=dword:00000000
"NoAltScreen"=dword:00000000
"NoRemoteWinTitle"=dword:00000000
"RemoteQTitleAction"=dword:00000001
"NoDBackspace"=dword:00000000
"NoRemoteCharset"=dword:00000000
"ApplicationCursorKeys"=dword:00000000
"ApplicationKeypad"=dword:00000000
"NetHackKeypad"=dword:00000000
"Tray"=dword:00000001
"StartTray"=dword:00000000
"TrayRestore"=dword:00000001
"WakeupReconnect"=dword:00000001
"FailureReconnect"=dword:00000001
"AltF4"=dword:00000001
"AltSpace"=dword:00000000
"AltOnly"=dword:00000000
"ComposeKey"=dword:00000000
"CtrlAltKeys"=dword:00000001
"TelnetKey"=dword:00000000
"TelnetRet"=dword:00000001
"LocalEcho"=dword:00000002
"LocalEdit"=dword:00000002
"Answerback"="PuTTY"
"AlwaysOnTop"=dword:00000000
"FullScreenOnAltEnter"=dword:00000000
"HideMousePtr"=dword:00000000
"SunkenEdge"=dword:00000000
"WindowBorder"=dword:00000001
"CurType"=dword:00000001
"BlinkCur"=dword:00000001
"Beep"=dword:00000001
"BeepInd"=dword:00000000
"BellWaveFile"=""
"BellOverload"=dword:00000001
"BellOverloadN"=dword:00000005
"BellOverloadT"=dword:000007d0
"BellOverloadS"=dword:00001388
"ScrollbackLines"=dword:0098967f
"DECOriginMode"=dword:00000000
"AutoWrapMode"=dword:00000001
"LFImpliesCR"=dword:00000000
"CRImpliesLF"=dword:00000000
"DisableArabicShaping"=dword:00000000
"DisableBidi"=dword:00000000
"WinNameAlways"=dword:00000001
"WinTitle"="172.29.40.112 - PuTTY"
"TermWidth"=dword:00000064
"TermHeight"=dword:0000001a
"Font"="Courier New"
"FontIsBold"=dword:00000000
"FontCharSet"=dword:000000b1
"FontHeight"=dword:00000010
"FontQuality"=dword:00000001
"FontVTMode"=dword:00000004
"UseSystemColours"=dword:00000000
"TryPalette"=dword:00000000
"ANSIColour"=dword:00000001
"Xterm256Colour"=dword:00000001
"BoldAsColour"=dword:00000001
"Colour0"="255,255,255"
"Colour1"="255,255,255"
"Colour2"="51,51,51"
"Colour3"="85,85,85"
"Colour4"="0,0,0"
"Colour5"="0,255,0"
"Colour6"="77,77,77"
"Colour7"="85,85,85"
"Colour8"="255,43,43"
"Colour9"="255,85,85"
"Colour10"="152,251,152"
"Colour11"="85,255,85"
"Colour12"="240,230,140"
"Colour13"="255,255,85"
"Colour14"="205,133,63"
"Colour15"="135,206,235"
"Colour16"="255,222,173"
"Colour17"="255,85,255"
"Colour18"="255,160,160"
"Colour19"="255,215,0"
"Colour20"="245,222,179"
"Colour21"="255,255,255"
"RawCNP"=dword:00000000
"PasteRTF"=dword:00000001
"MouseIsXterm"=dword:00000002
"RectSelect"=dword:00000000
"MouseOverride"=dword:00000001
"Wordness0"="0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"
"Wordness32"="0,1,2,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1"
"Wordness64"="1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,2"
"Wordness96"="1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1"
"Wordness128"="1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
"Wordness160"="1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
"Wordness192"="2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2"
"Wordness224"="2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2"
"LineCodePage"="UTF-8"
"CJKAmbigWide"=dword:00000000
"UTF8Override"=dword:00000001
"Printer"=""
"CapsLockCyr"=dword:00000000
"ScrollBar"=dword:00000001
"ScrollBarFullScreen"=dword:00000001
"ScrollOnKey"=dword:00000001
"ScrollOnDisp"=dword:00000001
"EraseToScrollback"=dword:00000001
"LockSize"=dword:00000000
"BCE"=dword:00000001
"BlinkText"=dword:00000000
"X11Forward"=dword:00000000
"X11Display"=""
"X11AuthType"=dword:00000001
"X11AuthFile"=""
"LocalPortAcceptAll"=dword:00000000
"RemotePortAcceptAll"=dword:00000000
"PortForwardings"=""
"BugIgnore1"=dword:00000000
"BugPlainPW1"=dword:00000000
"BugRSA1"=dword:00000000
"BugIgnore2"=dword:00000000
"BugHMAC2"=dword:00000000
"BugDeriveKey2"=dword:00000000
"BugRSAPad2"=dword:00000000
"BugPKSessID2"=dword:00000000
"BugRekey2"=dword:00000000
"BugMaxPkt2"=dword:00000000
"BugWinadj"=dword:00000000
"StampUtmp"=dword:00000001
"LoginShell"=dword:00000001
"ScrollbarOnLeft"=dword:00000000
"BoldFont"=""
"BoldFontIsBold"=dword:00000000
"BoldFontCharSet"=dword:00000000
"BoldFontHeight"=dword:00000000
"WideFont"=""
"WideFontIsBold"=dword:00000000
"WideFontCharSet"=dword:00000000
"WideFontHeight"=dword:00000000
"WideBoldFont"=""
"WideBoldFontIsBold"=dword:00000000
"WideBoldFontCharSet"=dword:00000000
"WideBoldFontHeight"=dword:00000000
"ShadowBold"=dword:00000000
"ShadowBoldOffset"=dword:00000001
"SerialLine"="COM1"
"SerialSpeed"=dword:00002580
"SerialDataBits"=dword:00000008
"SerialStopHalfbits"=dword:00000002
"SerialParity"=dword:00000000
"SerialFlowControl"=dword:00000001
"WindowClass"=""

create an empty folder in your D: drive named “LOGS”,
and every session will be logged into that folder.

create a windows shortcut link, like so:

"D:\Software\putty\PUTTY.EXE" -load root@172.29.40.112 -pw thePasswordText

to get directly into the session without the need to enter the password.

Solved: Python x64 Modules-Installer: “not found”

there are two things can be done:

1. find a suitable x64 compiled version of the package from http://www.lfd.uci.edu/~gohlke/pythonlibs/

2. execute the following reg file (for 2.7 version of python x64 only)

 

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Python]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\Help]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\Help\Main Python Documentation]
@="C:\\Python27\\Doc\\python273.chm"

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\InstallPath]
@="C:\\Python27\\"

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\InstallPath\InstallGroup]
@="Python 2.7"

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\Modules]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\PythonPath]
@="C:\\Python27\\Lib;C:\\Python27\\DLLs;C:\\Python27\\Lib\\lib-tk"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Help]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Help\Main Python Documentation]
@="C:\\Python27\\Doc\\python273.chm"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\InstallPath]
@="C:\\Python27\\"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\InstallPath\InstallGroup]
@="Python 2.7"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Modules]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\PythonPath]
@="C:\\Python27\\Lib;C:\\Python27\\DLLs;C:\\Python27\\Lib\\lib-tk"

Add Explorer Context-Menu Items to Open Files with Unknown Extension with Custom Editor (For Example Notepad2 or Notepad++)

copy & paste this file to an empty file, name it “install.reg”, save. double click the file, to “install it”.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Unknown\shell\editnotepad2]
@="Edit with Notepad2"

[HKEY_CLASSES_ROOT\Unknown\shell\editnotepad2\command]
@="\"D:\\Software\\Notepad 2.0\\Notepad2.exe\" %1\""

[HKEY_CLASSES_ROOT\Unknown\shell\editnotepadpp]
@="Edit with Notepad++"

[HKEY_CLASSES_ROOT\Unknown\shell\editnotepadpp\command]
@="\"D:\\Software\\Notepad++\\notepad++.exe\" \"%1\""

it will add two menu items, for files with extension, that isn’t assigned to a program, or in other words,
explorer won’t know in which program to use to view those files.


wish to remove it?

copy & paste this file to an empty file, name it “uninstall.reg”, save. double click the file, to “uninstall it”.

Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\Unknown\shell\editnotepad2]
[-HKEY_CLASSES_ROOT\Unknown\shell\editnotepadpp]

note:
as you’ve probably noticed, notepad2 and notepad++ ‘sits’ in a custom folder under D:\Software\

on your computer, you might want to use any other editor, or notepad++ from another location.

if you want to use notepad++ from C:\Program Files\Notepad++ (for example), edit the install script so the path will use this path. remember: path in registry syntax uses two ‘\’. so C:\Program Files\Notepad++\notepad++.exe will became C:\\Program Files\\Notepad++\\notepad++.exe

 

here is our modified install script:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Unknown\shell\editnotepadpp]
@="Edit with Notepad++"

[HKEY_CLASSES_ROOT\Unknown\shell\editnotepadpp\command]
@="\"C:\\Program Files\\Notepad++\\notepad++.exe\" \"%1\""

and our uninstall script will be similar..

Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\Unknown\shell\editnotepadpp]

here is an illustration of the registry:


note2:
have you noticed that the default action is still the “Open”, which shows the ‘Open Dialog’ for unknown extensions?
you can set each of the actions under \shell\ to be the default one.

the secret is using
@=”–the name of the key–” under \shell\

for example we want to set the default to be notepad++, so (I’ve separated it to another script) run this one:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Unknown\shell]
@="editnotepadpp"

this relays on the fact that there is a key named editnotepadpp, if you’ve changed it / customized it, make sure to use your key name.

to bring it back (uninstall it, or in another words make it use the default ‘open’ dialog) just use this script:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Unknown\shell]
@="openas"