3

カスタム ブートストラップ パッケージを Visual Studio 2010 のクリック ワンス インストールに追加しようとしていますが、パッケージが前提条件メニューに表示されません。パッケージ用に「C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages」ディレクトリにフォルダーを追加しました。

Visual Studio で product.xml と package.xml の両方を開きましたが、どちらにもエラーは表示されませんでした。

レジストリをチェックして、ファイルが正しい場所に配置されていることを確認しようとしましたが、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

4 に答える 4

2

この問題は、手作業ではなく Bootstrapper Manifest Generator ツールを使用して xml を生成することで解決できました。

于 2011-03-30T20:10:45.967 に答える
1

product.xmlファイルでは、使用している製品コードを表示することはありません。これはファイルの一番上にあり、次のようになります。

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

すべてのブートストラッパーパッケージについて、製品コードは一意である必要があることに注意してください。2つのブートストラッパーの製品コードが同じである場合、前提条件リストにはそのうちの1つだけが表示されます。

別のブートストラッパーからコピーして貼り付け、関連する値を変更してその製品ファイルを取得した場合は、製品コードを変更していない可能性があるため、新しく追加したパッケージは登録されません。 。

これは私に起こりました。product.xmlファイルとpackage.xmlファイルを別のブートストラッパーから取得し、目的に合わせて編集しましたが、製品コードを無視したため、パッケージが前提条件ダイアログに表示されませんでした。戻って製品コードを新しい一意の値に変更すると、それが表示されました。

于 2012-07-31T19:45:40.510 に答える
0

他の人が暗示しているように、XML ファイルに不正な形式があると、前提条件チェックリストに表示されなくなります。XML ファイルの先頭に 1 つのスペースがありました。これを削除すると表示されました。

于 2015-02-11T04:36:44.540 に答える