Я понятия не имею, откуда берется GenericBootstrapper, поскольку невозможно найти его в реестре, даже если я установил SDK 6.0, 6.1, 8.0 и 8.1 на тот же компьютер с Windows 2012 Server.
ожно получить папку Windows SDK в задаче MSBuild?
Используя задачу generateBootstrapper, я создаю загрузчик для моей установки, чтобы иметь возможность установить предварительные требования. Для этой задачи необходим путь к папке, в которой находятся необходимые пакеты, т. Е. Папка Windows SDK.
"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\"
при использовании Visual Studio 2008. До сих пор я использовал жестко запрограммированный путь, но это не будет работать на любой системе. Есть ли лучший способ получить путь?
Это мой скрипт сборки:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
ToolsVersion="3.5">
<ItemGroup>
<BootstrapperFile Include="Microsoft.Net.Framework.2.0">
<ProductName>.NET Framework 2.0</ProductName>
</BootstrapperFile>
<BootstrapperFile Include="Microsoft.Windows.Installer.3.1">
<ProductName>Windows Installer 3.1</ProductName>
</BootstrapperFile>
</ItemGroup>
<Target Name="Bootstrapper">
<GenerateBootstrapper ApplicationFile="mySetup.msi"
Culture="de-DE"
ApplicationName="My Application"
OutputPath="$(OutDir)\de-DE"
BootstrapperItems="@(BootstrapperFile)"
Path="C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\" />
<GenerateBootstrapper ApplicationFile="mySetup.msi"
Culture="en-US"
ApplicationName="My Application"
OutputPath="$(OutDir)\en-US"
BootstrapperItems="@(BootstrapperFile)"
Path="C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\" />
</Target>
</Project>