Announcement

Collapse
No announcement yet.

Administrator manifest for Vista

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mike Doty
    replied
    Thank you, George!
    That works. Did require x86 to be lower case.

    For any lurkers:
    Load admin.rc 1 24 admin.xml into compiler and click compile.
    That creates admin.res which then creates admin.pbr which
    is loaded into final program with the line #RESOURCE "admin.pbr"

    Not sure if all programs should use a manifest like this by changing
    name = "topdog.exe" to name="program name goes here.exe"?

    admin.xml
    Code:
     <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
      <assemblyIdentity
        version="1.0.0.0"
        processorArchitecture="x86"
        name = "topdog.exe"
        type = "win32" />
        <description>elevation</description>
        <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
          <security>
            <requestedPrivileges>
              <requestedExecutionLevel level="requireAdministrator"  uiAccess="false" />
            </requestedPrivileges>
          </security>
        </trustInfo>
    </assembly>
    admin.rc
    Code:
     1 24 admin.xml
    Last edited by Mike Doty; 20 Mar 2014, 11:26 AM.

    Leave a comment:


  • George Bleck
    replied
    In assemblyIdentity the NAME and TYPE should be lowercase. The manifest elements are case-sensitive (http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx, see ELEMENTS).

    Not sure on the values case-sensitivity so you might also need to also change X86 to x86 under processorArchitecture .
    Last edited by George Bleck; 19 Mar 2014, 11:46 AM.

    Leave a comment:


  • Mike Doty
    replied
    The application has failed to start because its side-by-side configuration is incorrect.
    Please see the application event log or use the command-line sxstrace.exe tool for more detail.

    Using Windows 7 and can't run with the manifest.
    Anyone used sxstrace or see the problem?


    admin.rc
    Code:
     1 24 admin.xml
    admin.xml
    Code:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
      <assemblyIdentity
        version="1.0.0.0"
        processorArchitecture="X86"
        NAME = "topdog.exe"
        TYPE = "win32" />
        <description>elevation</description>
        <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
          <security>
            <requestedPrivileges>
              <requestedExecutionLevel level="requireAdministrator"  uiAccess="false" />
            </requestedPrivileges>
          </security>
        </trustInfo>
    </assembly>
    topdog.bas
    Code:
    #COMPILE EXE
    #DIM ALL
    #RESOURCE "admin.pbr"
      #COMPILE EXE
      #DIM ALL
      #RESOURCE "admin.pbr"
      FUNCTION PBMAIN AS LONG
        LOCAL sFolder AS STRING
        sFolder = "c:\Program Files\My Test Folder"
        MKDIR sFolder
        IF ERR = 0 THEN
            ? "Created " + sFolder + " will now remove."
            RMDIR sFolder
            IF ERR = 0 THEN
              ? "Removed " + sFolder
            ELSE
                ? "Error" + STR$(ERRCLEAR) + " of folder " + sFolder
            END IF
        ELSE
            ? "Unable to create " + sFolder + " error" + STR$(ERRCLEAR)
        END IF
     
      END FUNCTION
    Last edited by Mike Doty; 19 Mar 2014, 09:58 AM.

    Leave a comment:


  • Mike Doty
    replied
    Great. Thank you. Just got a Vista box and seeing some interesting changes. I like it, so far.

    Leave a comment:


  • Greg Lyon
    replied
    Mike,

    On Vista Home Premium, 32-bit, running as non-admin, it asked for permission, it created the folder, it removed the folder. No problems.

    Leave a comment:


  • Mike Doty
    replied
    Rod,
    Were you running as an admin at the time?
    Did it ask if you wanted to elevate permission?

    Leave a comment:


  • Mike Doty
    replied
    All files are at http://www.dotysoftware.com/topdog/

    The big question is "Does it ask to elevate permission?"

    http://www.dotysoftware.com/topdog/Admin.bas
    http://www.dotysoftware.com/topdog/admin.pbr
    http://www.dotysoftware.com/topdog/admin.rc
    http://www.dotysoftware.com/topdog/admin.res
    http://www.dotysoftware.com/topdog/admin.xml
    http://www.dotysoftware.com/topdog/all.zip (everything here)
    http://www.dotysoftware.com/topdog/easy.bat (create .pbr file)
    http://www.dotysoftware.com/topdog/TopDog.bas
    http://www.dotysoftware.com/topdog/TopDog.exe
    Last edited by Mike Doty; 8 Aug 2008, 12:34 PM. Reason: Listed each file hoping someone will see if it asks to elevate permisson.

    Leave a comment:


  • Mike Doty
    replied
    Thank you!
    Last edited by Mike Doty; 8 Aug 2008, 11:16 AM.

    Leave a comment:


  • Rod Macia
    replied
    Originally posted by Mike Doty View Post
    Would appreicate knowing the results?

    Does TopDog create C:\Program Files\My Test Folder using Vista 32-bit and Vista 64-bit?
    It does create and remove in VISTA64

    Rod

    Leave a comment:


  • Mike Doty
    started a topic Administrator manifest for Vista

    Administrator manifest for Vista

    To test with Vista I've put a link to the executable here http://www.dotysoftware.com/topdog.exe
    Would appreicate knowing the results?

    Would someone look over the .xml code to see if it is correct?
    All other programs (that do not need more rights) do not need a manifest, correct?
    Does TopDog create C:\Program Files\My Test Folder using Vista 32-bit and Vista 64-bit?
    What other manifests do we need to distribute Vista programs (if not using an installer?)
    Getting a Vista box tomorrow.


    'Save as TopDog.Bas
    Code:
    'TopDog.Bas
    #COMPILE EXE
    #DIM ALL
    #RESOURCE "admin.pbr"
    'uiAccess = false or you need to pay Microsoft   can only send messages to equal or lower levels
      #COMPILE EXE
      #DIM ALL
      #RESOURCE "admin.pbr"
      FUNCTION PBMAIN AS LONG
        LOCAL sFolder AS STRING
        sFolder = "c:\Program Files\My Test Folder"
        ? "TopDog with admin privileges"
        MKDIR sFolder
        IF ERR = 0 THEN
            ? "Created " + sFolder + " will now remove."
            RMDIR sFolder
            IF ERR = 0 THEN
              ? "Removed " + sFolder
            ELSE
                ? "Error" + STR$(ERRCLEAR) + " of folder " + sFolder
            END IF
        ELSE
            ? "Unable to create " + sFolder + " error" + STR$(ERRCLEAR)
        END IF
     
      END FUNCTION
    'Save as Admin.Xml
    Code:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
      <assemblyIdentity
        version="1.0.0.0"
        processorArchitecture="X86"
        NAME = "TopDog"
        TYPE = "win32" />
        <description>I am the top dog</description>
        <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
          <security>
            <requestedPrivileges>
              <requestedExecutionLevel level="requireAdministrator"  uiAccess="false" />
            </requestedPrivileges>
          </security>
        </trustInfo>
    </assembly>
    'Save as Admin.Rc
    Code:
    1 24 admin.xml

    RC.EXE Admin.Rc ----> creates Admin.Res
    PBRES Admin.Res ----> creates Admin.Pbr


    uiAccess information
    http://forums.microsoft.com/MSDN/Sho...80962&SiteID=1
    Last edited by Mike Doty; 7 Aug 2008, 12:58 PM. Reason: Cosmetic
Working...
X