Пакет Bootstrapper не отображается в меню предварительных требований - PullRequest
2 голосов
/ 30 марта 2011

Я пытаюсь добавить пользовательский пакет начальной загрузки для установки clickonce в Visual Studio 2010, но этот пакет не отображается в меню «Предварительные требования». Я добавил папку в папку "C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Bootstrapper \ Packages" для моего пакета.

Я открыл оба свои product.xml и package.xml в Visual Studio, и ни один из них не показал никаких ошибок.

Я попытался проверить реестр, чтобы убедиться, что я размещаю свои файлы в правильном месте, но в реестре не было ни HKLM \ Software \ Microsoft \ GenericBootstrapper, ни HKCU \ Software \ Microsoft \ GenericBootstrapper.

Я также попытался выполнить полную перезагрузку после добавления файлов.

Вот мои XML-файлы: product.xml

<?xml version="1.0" encoding="utf-8" ?>
<Product
  xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
  ProductCode="RedemptionDLL">

  <RelatedProducts>
    <DependsOnProduct Code="Microsoft.Windows.Installer.3.1" />
  </RelatedProducts>

  <PackageFiles>
    <PackageFile Name="RedemptionDLL.msi"/>
  </PackageFiles>

  <Commands>
    <Command PackageFile="RedemptionDLL.msi" Arguments="">

      <InstallConditions>
        <BypassIf Property="IsMsiInstalled"
          Compare="ValueGreaterThan" Value="0"/>
        <FailIf Property="AdminUser" 
          Compare="ValueNotEqualTo" Value="True"
         String="NotAnAdmin"/>
      </InstallConditions>

      <ExitCodes>
        <ExitCode Value="0" Result="Success"/>
        <ExitCode Value="1641" Result="SuccessReboot"/>
        <ExitCode Value="3010" Result="SuccessReboot"/>
        <DefaultExitCode Result="Fail" 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"

  <Strings>
    <String Name="DisplayName">RedemptionDLL</String>
    <String Name="Culture">en</String>
    <String Name="NotAnAdmin">You must be an administrator to install this package.  Please contact your administrator.</String>
    <String Name="GeneralFailure">A general error has occurred while 
installing this package.</String>
  </Strings>
</Package>

Ответы [ 4 ]

2 голосов
/ 31 марта 2011

Мне удалось решить эту проблему с помощью инструмента «Генератор манифестов Bootstrapper», чтобы сгенерировать XML, а не делать это вручную.

1 голос
/ 31 июля 2012

В вашем файле product.xml вы никогда не показываете, какой код продукта вы используете.Он находится в самом верху файла и выглядит следующим образом:

<Product xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
 ProductCode="Your.Product.Code">

Имейте в виду, что для каждого пакета загрузчика код продукта должен быть уникальным.Если два загрузчика имеют одинаковый код продукта, то в списке предварительных условий будет отображаться только один из них.

Если вы получили этот файл продукта, скопировав и вставив его из другого загрузчика, а затем изменив соответствующие значениядля вас вполне возможно, что вы не изменили код продукта, поэтому ваш новый пакет не будет зарегистрирован.

Это случилось со мной.Я взял мои файлы product.xml и package.xml из другого загрузчика, а затем просто отредактировал их, чтобы они работали для моих целей, но я пренебрег кодом продукта, и мой пакет так и не появился в диалоговом окне предварительных требований.Когда я вернулся и изменил код продукта на новое, уникальное значение, оно появилось.

0 голосов
/ 11 февраля 2015

Как и предполагали другие, все, что искажено в вашем XML-файле, приведет к тому, что оно не будет отображаться в контрольном списке предварительных требований. У меня был один пробел в начале моего XML-файла; после удаления это обнаружилось.

0 голосов
/ 25 октября 2014

У меня была похожая проблема, мне потребовался возраст, чтобы понять, что я назвал свой package.xml файл product.xml

...