将清单添加到jar的已编译exe文件中

Ana*_*oly 1 windows permissions uac jar

我有一个可运行的MyApp.jar,我通过使用launch4j将其编译为MyApp.exe,并且由于此应用需要管理员权限,因此我尝试通过遵循以下文章向其添加清单文件:http : //msdn.microsoft.com/zh- us / library / bb756929.aspx 当我表演时

mt.exe –manifest manifest.xml –outputresource:MyApp.exe;#1
Run Code Online (Sandbox Code Playgroud)

该过程已完成,没有错误,但是MyApp.exe文件的大小仅从6mb减小到32kb,并且当我尝试运行它时,出现以下错误:错误:jarfile无效或损坏。也许有人知道这是怎么回事?我的清单文件如下:

<?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="MyApp.exe"
     type="win32"/> 
  <description>{app name}</description> 
  <!-- Identify the application security requirements. -->
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="requireAdministrator"
          uiAccess="true"/>
        </requestedPrivileges>
       </security>
  </trustInfo>
</assembly>
Run Code Online (Sandbox Code Playgroud)

Ana*_*oly 5

最后,我们通过在编译期间通过launch4j应用程序添加清单文件来解决此问题,并将uiAccess标志从true更改 为false, uiAccess="false"尽管我们的应用程序是图形应用程序,否则它无法正常工作。

我已经使用了这个文件:

    <?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="MyApp.exe"
     type="win32"/> 
  <description>{app name}</description> 
  <!-- Identify the application security requirements. -->
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="requireAdministrator"
          uiAccess="false"/>
        </requestedPrivileges>
       </security>
  </trustInfo>
</assembly>
Run Code Online (Sandbox Code Playgroud)

并放在这里: 在此处输入图片说明