2011-03-30 34 views
2

我想將自定義引導程序包添加到Visual Studio 2010中的clickonce安裝,但該軟件包未顯示在「先決條件」菜單中。我在我的軟件包的「C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bootstrapper \ Packages」目錄中添加了一個文件夾。Bootstrapper軟件包在先決條件菜單中未顯示

我在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> 

回答

2

我能夠通過使用引導程序清單生成工具來生成XML而解決這個問題比手工做。

1

在您的product.xml文件中,您永遠不會向我們展示您正在使用的產品代碼。這是在文件的最頂端,看起來像這樣:

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

請記住,對於每一個引導程序包,產品代碼必須是唯一的。如果兩個引導程序具有相同的產品代碼,則只有其中一個將顯示在先決條件列表中。

如果您通過從其他引導程序複製並粘貼該產品文件,然後更改與您相關的值,可能沒有更改產品代碼,因此您新添加的軟件包不是將被註冊。

這發生在我身上。我從另一個引導程序獲取了我的product.xml和package.xml文件,然後將它們編輯爲我的目的,但我忽略了產品代碼,並且我的包從未出現在先決條件對話框中。一旦我回去並將產品代碼更改爲新的獨特價值,它就出現了。

0

我有一個類似的問題,我花了年齡意識到我已經命名我package.xml文件product.xml

0

像其他已暗示,任何畸形有關XML文件將導致其無法在前提條件清單顯示。我在XML文件的開頭有一個空格,刪除後顯示出來。