Menu

VERY strange behaviour on Windows 2008 x64

Antoine
2008-08-21
2012-11-13
  • Antoine

    Antoine - 2008-08-21

    Hi,
    While I admit this issue is not specific to notepad++, notepad++ is definitely affected.
    Steps to reproduce:
    1. Edit a file in any subdirectory of C:\Program Files (x86)\ with notepad++ and save and close it.
    2. Open the file with straight notepad.
    3. Notice that your modifications have NOT been taken into account, though there was no message from notepad++.
    4. Open the file again with notepad++. Your modifications are there!!!

    WTF?!?

    For some strange reason, all MS products (word, notepad, IE, etc.) get the good file, and from all the non-MS products I've tested with, only FF3 gets the right one. It's extremely bizarre - all non MS products open the same, modified file, all MS products open the unmodified file.
    I have tested on Vista 64, and it doesn't present this behaviour. If anyone has any info at all on this I'm very interested to find out what!

    ps. The Win Server 2008 Std (US) is patched up to date, and notepad++ is 5.0.3.

     
    • Harry

      Harry - 2008-08-21

      Sounds like the same thing Vista does and it's called VirtualStore. Maybe Notepad is runnign with higher privileges than Notepad++

       
      • Claus

        Claus - 2008-09-04

        This happens because Notepad++ doesn't tell Vista that it knows about UAC. When such applications access certain parts of the file system (such as the "Program Files" directories), those accesses are virtualized. (Similar things happen for the registry.)

        To fix this, rebuild the project after adding the following section to PowerEditor/src/notepad++.exe.manifest (right before the closing assembly tag):

        <!-- Identify the application security requirements. -->
        <ms_asmv2:trustInfo xmlns:ms_asmv2="urn:schemas-microsoft-com:asm.v2">
          <ms_asmv2:security>
            <ms_asmv2:requestedPrivileges>
              <ms_asmv2:requestedExecutionLevel
                 level="asInvoker"
                 uiAccess="false"/>
            </ms_asmv2:requestedPrivileges>
          </ms_asmv2:security>
        </ms_asmv2:trustInfo>