C# 在ClickOnce中显示EULA

C# 在ClickOnce中显示EULA,c#,clickonce,eula,C#,Clickonce,Eula,在使用Clickonce安装应用程序之前,我想显示一个EULA(最终用户许可协议)窗口 我在谷歌上搜索了很多,然后选择了这个 我将讨论的第一个回复的解决方案与带有eula.bat的解决方案结合起来。现在看起来很棒,但我想定制更多的窗口 我不希望显示按钮视图EULA进行打印 我想使EULA文本框无法复制 我想要一个除eula.bat之外的替代解决方案,因为它将弹出一个窗口 Product.xml <?xml version="1.0" encoding="utf-8" ?> &l

在使用Clickonce安装应用程序之前,我想显示一个EULA(最终用户许可协议)窗口

我在谷歌上搜索了很多,然后选择了这个

我将讨论的第一个回复的解决方案与带有eula.bat的解决方案结合起来。现在看起来很棒,但我想定制更多的窗口

  • 我不希望显示按钮视图EULA进行打印
  • 我想使EULA文本框无法复制
  • 我想要一个除eula.bat之外的替代解决方案,因为它将弹出一个窗口
  • Product.xml

    <?xml version="1.0" encoding="utf-8" ?> 
    
    <Product
      xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" ProductCode="EULA.Bootstrap.Component">
      <!-- Defines list of files to be copied on build -->
      <PackageFiles>
        <PackageFile Name="en/eula.bat"/>
            <PackageFile Name="en/eula.rtf"/>
      </PackageFiles>
    
      <Commands>
        <Command PackageFile="en/eula.bat"
           Arguments='' >
            <ExitCodes>
              <ExitCode Value="0" Result="Success"/>
              <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
            </ExitCodes>
         </Command>
      </Commands>
    </Product>
    
    
    
    Package.xml

    <?xml version="1.0" encoding="utf-8" ?> 
    
    <Package
      xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" Name="DisplayName" Culture="Culture" LicenseAgreement="eula.rtf">
        <PackageFiles>
            <PackageFile Name="eula.rtf"/>
        <PackageFile Name="eula.bat"/>
        </PackageFiles>
    
      <!-- Defines a localizable string table for error messages and url's  -->
      <Strings>
        <String Name="DisplayName">End User License Agreement</String>
        <String Name="Culture">en</String>
      </Strings>
    </Package>
    
    
    最终用户许可协议
    EN
    

    如果您使用的是VS 2013,您可以按照该链接将它们复制到正确的位置,例如C:\Program Files(x86)\Microsoft SDK\Windows\v8.1A\Bootstrapper\Packages。

    找到解决方案了吗?