1
votes

I'm trying to create a custom boostrapper package for a click once app. I've added the product.xml+the msi package to a folder (named CCSdk) which was created under the C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages (I've also copied the folder into C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages). My product.xml file is rather simple and looks like this:

<Product xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" ProductCode="CCSdk">  
  <RelatedProducts>  
    <DependsOnProduct Code=".NETFramework,Version=v4.5" />
  </RelatedProducts>  
<PackageFiles>  
    <PackageFile Name="PteidMW-Basic-64.msi"/>  
</PackageFiles>  
<InstallChecks>  
   <MsiProductCheck Property="IsMsiInstalled" Product="{824563DE-75AD-4166-9DC0-B6482F205284}"/>  
</InstallChecks>  
<Commands>  
    <Command PackageFile="PteidMW-Basic-64.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>

My problem is that I still don't see my custom bootstrapper package when I try to add prerequisites on publish settings.

what am I missing?

Thanks

Luis

1
Things that are hard to do in VS are the ones where the "visual" is missing. You can chase this down by starting from an existing bootstrapper that is similar to yours. I recommend vcredist_x86, gradually adding what it does. You'll probably discover, like I did, that the en\package.xml file is required. DisplayName is essential. There are bigger problems however, you can't get an MSI to execute in a ClickOnce install. You can do the install-check but the user has to do the downloading and running since an MSI requires admin privileges. Bad news travels slow.Hans Passant

1 Answers

1
votes

Can you try generating the package using the Bootstrapper Manifest Generator and comparing the output? The tool was apparently retired from MSDN but is still available here:

http://www.softpedia.com/get/Programming/Other-Programming-Files/Bootstrapper-Manifest-Generator.shtml