Элемент <Package> (загрузчик)
Элемент Package представляет собой XML-элемент верхнего уровня в файле пакета.
<Package
Culture
Name
LicenseAgreement
>
<InstallChecks>
<AssemblyCheck
Property
Name
PublicKeyToken
Version
Language
ProcessorArchitecture
/>
<RegistryCheck
Property
Key
Value
/>
<ExternalCheck
PackageFile
Property
Arguments
Log
/>
<FileCheck
Property
FileName
SearchPath
SpecialFolder
SearchDepth
/>
<MsiProductCheck
Property
Product
Feature
/>
<RegistryFileCheck
Property
Key
Value
File
SearchDepth
/>
</InstallChecks>
<Commands
Reboot
>
<Command
PackageFile
Arguments
EstimatedInstallSeconds
EstimatedDiskBytes
EstimatedTempBytes
Log
>
<InstallConditions>
<BypassIf
Property
Compare
Value
Schedule
/>
<FailIf
Property
Compare
Value
String
Schedule
/>
</InstallConditions>
<ExitCodes>
<ExitCode
Value
Result
String
/>
</ExitCodes>
</Command>
</Commands>
<PackageFiles
CopyAllComponents
>
<PackageFile
Name
Path
HomeSite
PublicKey
/>
</PackageFiles>
<Strings>
<String
Name
>
</String>
</Strings>
<Schedules>
<Schedule
Name
>
<BuildList />
<BeforePackage />
<AfterPackage />
</Schedule>
</Schedules>
</Package>
Элементы и атрибуты
Элемент Package является обязательным. Он имеет следующие атрибуты.
Атрибут |
Описание |
---|---|
Culture |
Обязательный. Определяет язык и региональные параметры для данного пакета. Этот атрибут служит также ключом для элемента Strings, содержащего список зависимых от языка строк названий продуктов и сообщений об ошибках, выводимых в ходе установки. |
Name |
Обязательный. Имя пакета, отображаемого для разработчика в таких средствах как Visual Studio. Этот атрибут служит ключом для элемента Strings, который должен содержать элемент String со свойствами Name и Culture, установленными в соответствии со свойствами Name и Culture атрибута Package. |
LicenseAgreement |
Необязательный. Задает имя файла в распространяемом пакете, содержащего лицензионное соглашение конечного пользователя (EULA). Этот файл может иметь формат TXT или RTF. |
Пример
В следующем примере полностью приведено содержимое файла пакета для распространения .NET Framework 2.0.
<?xml version="1.0" encoding="utf-8" ?>
<Package
xmlns="https://schemas.microsoft.com/developer/2004/01/bootstrapper"
Name="DisplayName"
Culture="Culture"
LicenseAgreement="eula.rtf"
>
<PackageFiles>
<PackageFile Name="eula.rtf"/>
</PackageFiles>
<!-- Defines a localizable string table for error messages-->
<Strings>
<String Name="DisplayName">.NET Framework 2.0</String>
<String Name="Culture">en</String>
<String Name="AdminRequired">Administrator permissions are required to install the .NET Framework 2.0. Contact your administrator.</String>
<String Name="InvalidPlatformWin9x">Installation of the .NET Framework 2.0 is not supported on Windows 95. Contact your application vendor.</String>
<String Name="InvalidPlatformWinNT">Installation of the .NET Framework 2.0 is not supported on Windows NT 4.0. Contact your application vendor.</String>
<String Name="InvalidPlatformIE">Installation of the .NET Framework 2.0 requires Internet Explorer 5.01 or greater. Contact your application vendor.</String>
<String Name="InvalidPlatformArchitecture">This version of the .NET Framework 2.0 is not supported on a 64-bit operating system. Contact your application vendor.</String>
<String Name="WindowsInstallerImproperInstall">Due to an error with Windows Installer, the installation of the .NET Framework 2.0 cannot proceed.</String>
<String Name="AnotherInstanceRunning">Another instance of setup is already running. The running instance must complete before this setup can proceed.</String>
<String Name="BetaNDPFailure">A beta version of the .NET Framework was detected on the computer. Uninstall any previous beta versions of .NET Framework before continuing.</String>
<String Name="GeneralFailure">A failure occurred attempting to install the .NET Framework 2.0.</String>
<String Name="DotNetFXExe">https://go.microsoft.com/fwlink/?LinkId=37283</String>
<String Name="InstMsiAExe">https://go.microsoft.com/fwlink/?LinkId=37285</String>
<String Name="Msi30Exe">https://go.microsoft.com/fwlink/?LinkId=37287</String>
</Strings>
</Package>