什么是Web 4的包?我们今天可以用它来构建执行文件吗?

时间:2017-05-10 09:45:08

标签: installshield

我的80 dll中有1个已更新。以前我们使用Packagefortheweb 4.0来构建设置。现在我们需要更新我们的客户端工具。我们如何使用Packagefortheweb来实现这一目标。

3 个答案:

答案 0 :(得分:0)

Web支持很长时间以来都不受支持。如果您有InstallShield,则可以进行压缩安装,也可以选择下载,以执行您想要的操作。请注意,PFTW主要围绕一组文件创建一个压缩的单exe包装器,包括另一个exe,这些(a)许多工具现在可以执行,(b)没有任何逻辑来更新目标机器上的文件,所以无论如何都需要某种安装逻辑。

答案 1 :(得分:0)

在Windows Winkey + R下使用iexpress-> iexpress

答案 2 :(得分:0)

在Windows 10下使用Package for the WEB确实很简单。

您需要为asInvoker创建一个具有pftwwiz.exe特权的清单文件,并为requireAdministrator文件创建一个stub32i.exe清单。

使用mt.exe工具将清单应用于此文件。

完成!

我使用的清单代码是这个(stub32i.exe的一个),向导的那个仅使用asInvoker的一个:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*"/>
    </dependentAssembly>
  </dependency>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
  <application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
    </windowsSettings>
  </application>
  <ms_compatibility:compatibility xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1" xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <ms_compatibility:application xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1">
      <ms_compatibility:supportedOS xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1" Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
      <ms_compatibility:supportedOS xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1" Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
      <ms_compatibility:supportedOS xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1" Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
      <ms_compatibility:supportedOS xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1" Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
      <ms_compatibility:supportedOS xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1" Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
    </ms_compatibility:application>
  </ms_compatibility:compatibility>
</assembly>

我使用的批处理文件是这样的(我有该文件的副本和其他原始文件):

@echo off
REM -- This batch file is needed to insert the external manifest file into the EXE, otherwise the program asks for administrative rights or fails to install

copy "pftwwiz (Original).exe" pftwwiz.exe
mt -manifest pftwwiz.manifest -outputresource:pftwwiz.exe
call signit pftwwiz.exe
copy pftwwiz.exe "pftwwiz (Patched).exe" 

copy "stub32i (Original).exe" stub32i.exe
mt -manifest stub32i.manifest -outputresource:stub32i.exe
copy stub32i.exe "stub32i (Patched).exe"