Sha*_*men 11
Sneaky方法在VS2005中为您的clickonce应用程序显示EULA
以下是关于使用最终用户许可协议安装clickonce应用程序的方法.基本上,您构建了一个可再发布的组件,可以在发布窗口下的prerequsites对话框中看到.如果您愿意,这可以让您的所有应用重用同一协议.这很简单,你只需要创建三个文件("eula.txt","product.xml"和"package.xml")和两个文件夹("EULApackage"和"en").我在下面记录了我如何设置我的一切.它很棒.您唯一需要更改的是组件的名称,当然您需要将自己的最终用户许可协议保存为eula.txt.该组件需要放在以下路径中:C:\ Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages在此文件夹中,您应该看到其他可再发行组件的子文件夹.首先为组件创建一个新的子目录.我打电话给我的EULApackage.在这个新文件夹中,您需要以下内容. - 一个名为product.xml的文件和一个名为"en"的子文件夹(英文版),你可以使用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.txt"/>
</PackageFiles>
<Commands>
<Command PackageFile="en/eula.txt"
Arguments='' >
<ExitCodes>
<DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
</ExitCodes>
</Command>
</Commands>
</Product>
Run Code Online (Sandbox Code Playgroud)
*在这种情况下,文件eula.txt是我的许可协议的文本文件.请注意,它不是rtf文件.Rtf不会使用此方法显示属性.
现在在我的"en"子文件夹中,我将eula.txt文件和另一个名为package.xml的xml文件放在一起,再次将此xml文件用于执行各种操作
继承我的版本内容*
<?xml version="1.0" encoding="utf-8" ?>
<Package
xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
Name="DisplayName"
Culture="Culture"
LicenseAgreement="eula.txt">
<PackageFiles>
<PackageFile Name="eula.txt"/>
</PackageFiles>
<!-- Defines a localizable string table for error messages and url's -->
<Strings>
<String Name="DisplayName">Texas Instruments End User License Agreement</String>
<String Name="Culture">en</String>
<String Name="CancelFailure">User Failed to Accept Texas Instruments End User License Agreement.</String>
<String Name="GeneralFailure">A fatal error occurred during the installation of ELUA Component Execution</String>
<String Name="AdminRequired">You do not have the permissions required to install this application. Please contact your administrator.</String>
</Strings>
</Package>
Run Code Online (Sandbox Code Playgroud)
注意:您在DisplayName字段中输入的内容是您的用户在面对eula文本时会看到的内容如果您将所有这些放在正确的文件夹中,则在下次启动VS2005并转到发布选项卡时 - >先决条件,您应该看到DisplayName字段.只需将此作为您应用的先决条件.当用户在publish.htm文件上单击"安装"时,它将向用户显示标准许可证接受对话框中的eula.txt文件的标记.如果选择接受你的东西安装,如果他们拒绝然后它退出相当不错,他们的系统上没有安装任何东西.如果您弄乱了两个文件中的任何一个的格式,或者如果省略"en"子文件夹,那么该组件将不会出现在先决条件对话框中(发布时)
附加说明:虽然这很好用但它是一个圆形的方法,它们是围绕eula的方法,例如,如果你的publish.htm文件允许它们直接运行应用程序(我想没有引导程序启动)但是如果它们单击安装按钮它会运行.每次向clickonce应用程序发布更新时,这也具有不运行的优点.他们必须运行引导过滤器以显示eula(通过单击publish.htm上的安装按钮)我通过查看已经在路径C:\ Program Files中的一些其他可再发行组件来找出这个方法\ Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages.您可以查看其他组件的product.xml和package.xml文件,看看他们用它们做了什么很酷的事情.祝好运
| 归档时间: |
|
| 查看次数: |
4288 次 |
| 最近记录: |