从jar中将manifest添加到已编译的exe文件中

时间:2014-07-16 09:52:24

标签: windows jar permissions uac

我使用launch4j编译为MyApp.exe的可运行的MyApp.jar,因为此应用需要管理员权限,我尝试按照以下文章向其添加清单文件:http://msdn.microsoft.com/en-us/library/bb756929.aspx 当我表演时

mt.exe –manifest manifest.xml –outputresource:MyApp.exe;#1

该过程完成且没有错误,但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>

1 个答案:

答案 0 :(得分:5)

最后,我们通过在编译期间通过launch4j app添加清单文件并将 uiAccess 标记从 true 更改为 false {{1尽管我们的应用程序是图形的,但它没有用。

我已经使用过此文件:

uiAccess="false"

并把它放在这里: enter image description here