2016-07-27 187 views
0

以下是主安装程序的wxs文件。这将在创建后使用Sign.pfx进行签名。Wix - 安装无管理员权限的修补程序

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Product Id="48C49ACE-90CF-4161-9C6E-9162115A54DD" 
     Name="WiX Patch Example Product" 
     Language="1033" 
     Version="1.0.0" 
     Manufacturer="Dynamo Corporation" 
     UpgradeCode="48C49ACE-90CF-4161-9C6E-9162115A54DD"> 
     <Package Description="Installs a file that will be patched." 
      Comments="This Product does not install any executables" 
      InstallerVersion="200" 
      Compressed="yes" AdminImage="no" /> 

     <Media Id="1" Cabinet="product.cab" EmbedCab="yes"/> 


     <FeatureRef Id="SampleProductFeature"/> 

     <PatchCertificates> 
      <DigitalCertificate Id="MyNewCertificate" SourceFile="Sign.pfx"/> 
     </PatchCertificates> 

     <PackageCertificates> 
      <DigitalCertificate Id="MyNewCertificate" SourceFile="Sign.pfx"/> 
     </PackageCertificates> 

    </Product> 

    <Fragment> 
     <Feature Id="SampleProductFeature" Title="Sample Product Feature" Level="1"> 
      <ComponentRef Id="SampleComponent" /> 
     </Feature> 
    </Fragment> 

    <Fragment> 
     <DirectoryRef Id="SampleProductFolder"> 
      <Component Id="SampleComponent" Guid="{C28843DA-EF08-41CC-BA75-D2B99D8A1983}" DiskId="1"> 
       <File Id="SampleFile" Name="Sample.txt" Source=".\$(var.Version)\Sample.txt" /> 
      </Component> 
     </DirectoryRef> 
    </Fragment> 

    <Fragment> 
     <Directory Id="TARGETDIR" Name="SourceDir"> 
      <Directory Id="ProgramFilesFolder" Name="PFiles"> 
       <Directory Id="SampleProductFolder" Name="Patch Sample Directory"> 
       </Directory> 
      </Directory> 
     </Directory> 
    </Fragment> 
</Wix> 

以下是补丁文件这就需要而无需管理员安装rights.Currently补丁工作正常,但需要管理员权限。

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Patch 
     AllowRemoval="yes" 
     Manufacturer="Dynamo Corp" 
     MoreInfoURL="http://www.dynamocorp.com/" 
     DisplayName="Sample Patch" 
     Description="Small Update Patch" 
     Classification="Update" 
     > 

     <Media Id="5000" Cabinet="RTM.cab"> 
      <PatchBaseline Id="RTM"/> 
     </Media> 

     <PatchFamilyRef Id="SamplePatchFamily"/> 

    </Patch> 

    <Fragment>  
     <PatchFamily Id='SamplePatchFamily' Version='1.2.0.0' Supersede='yes' ProductCode="48C49ACE-90CF-4161-9C6E-9162115A54DD"> 
      <ComponentRef Id="SampleComponent"/> 
     </PatchFamily> 
    </Fragment> 
</Wix> 

的示例代码是从官方WiX的教程在http://wixtoolset.org/documentation/manual/v3/patching/wix_patching.html

采取怎样才能让这个应用程序安装为所有用户(拥有管理员权限)(目前完成的),但非管理员可以安装补丁文件。

我试过的东西:加了PatchCertificatesPackageCertificates。没有区别。

+0

安装补丁时创建的详细日志文件中是否有任何提示?搜索'LUA'。 –

+0

主安装程序和修补程序中LUA = 0。还有一个条目说'LUA补丁已禁用:缺少MsiPatchCertificate表“ – user5521

回答

相关问题