第二个高程对话框

时间:2015-07-02 06:32:03

标签: wix windows-installer

我有一个简单的应用程序,我正在安装一个exe并在安装结束时运行它。但是当安装完成后,它会显示app.exe的第二个提升对话框,我不希望它显示,这是我的wix代码。

<?xml version="1.0" encoding="UTF-8"?>

            

<!-- The following three sections are from the How To: Add a File to Your Installer topic-->
<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFilesFolder">
    <Directory Id="APPLICATIONROOTDIRECTORY" Name="My Application Name"/>
  </Directory>
</Directory>

<DirectoryRef Id="APPLICATIONROOTDIRECTORY">
  <Component Id="app.exe" Guid="12345678-1234-1234-1234-222222222223">
    <File Id="app.exe" Source="MySourceFiles\app.exe" KeyPath="yes" Checksum="yes"/>
  </Component>
</DirectoryRef>
<Feature Id="MainApplication" Title="Main Application" Level="1">
  <ComponentRef Id="app.exe" />
</Feature>
<!-- Step 2: Add UI to your installer / Step 4: Trigger the custom action -->
<InstallExecuteSequence>
    <Custom Action='LaunchInstalledExe' After='InstallFinalize'/>
  </InstallExecuteSequence>

  <CustomAction Id="LaunchInstalledExe"
     FileKey="app.exe"

     ExeCommand=""
     Return="ignore" />

1 个答案:

答案 0 :(得分:2)

该可执行文件正在InstallFinalize之后运行,因此默认情况下它不会被提升,并且它显然有一个提升清单,因此它会要求提升。我会在InstallFinalize之前尝试(而不是立即),看看是否能解决这个问题,你可能也想要它被冒充。 InstallFinalize之后是更安全的地方。问题是管理员可以启动安装(或通过组策略将其推出)并离开,让有限的用户可以访问运行提升的程序,这可以做一些有限的用户不应该做的事情。我当然不希望为有限的用户启动安装,以后会导致该用户访问可以配置数据库安全性的程序。因此,从安全角度来看,从InstallFinalize之后产生的提升提示是合适的。但这一切都取决于您的客户及其环境和产品本身。

相关问题