완전히 자체 포함 된 .NET 3.5 SP1 설치 프로그램이있는 WIX 설치 프로그램을 어떻게 만들려면?
-
13-09-2019 - |
문제
WIX에있는 설치 프로그램에 전체 .NET 3.5 SP1 설치 프로그램을 포함시켜야합니다.
웹 액세스가 전혀없는 부스트레이퍼가 완전히 자체적으로 포함되어야합니다. 이 설치 프로그램이 웹을 요구하는 것은 허용되지 않습니다. 우리는 CD를 전혀 액세스 할 수 없기 때문에 CD를 배송하는 Outer Mongolia에 고객이 있습니다.
WIX 튜토리얼 상태 :
<Target Name="AfterBuild">
<GenerateBootstrapper ApplicationFile="$(TargetFileName)"
ApplicationName="My Application Name"
BootstrapperItems="@(BootstrapperFile)"
ComponentsLocation="Relative"
CopyComponents="True"
OutputPath="$(OutputPath)"
Path="C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\"/>
</Target>
위의 부트 스트랩은 웹이 필요합니다. 그렇지 않은 설치 프로그램을 어떻게 만드나요?
해결책
<Project ToolsVersion="3.5"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<BootstrapperFile Include="Microsoft.Net.Framework.3.5.SP1" >
<ProductName>.NET Framework 3.5 SP1</ProductName>
</BootstrapperFile>
<BootstrapperFile Include="Microsoft.Windows.Installer.3.1" >
<ProductName>Windows Installer 3.1</ProductName>
</BootstrapperFile>
</ItemGroup>
<Target Name="setup">
<GenerateBootstrapper
ApplicationFile="myproduct.msi"
ApplicationName="myproduct"
BootstrapperItems="@(BootstrapperFile)"
Path="$(bootstrapperPackagesFolder)"
ComponentsLocation="Relative"
OutputPath="$(cddir)"
Culture="en"/>
</Target>
</Project>
당신의 경우, $(bootstrapperPackagesFolder)
변수는 c를 가리 킵니다:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\
. 그만큼 $(cddir)
변수는 설치 CD의 내용을 작성하는 폴더입니다.
그만큼 GenerateBootStrapper
작업은 부트 스트레이퍼 EXE를 생성 할뿐만 아니라 DotNetFX35SP1
그리고 a WindowsInstaller3_1
같은 위치에 폴더. 설치 중에 부트 스트랩퍼 EXE는 해당 폴더를 찾아서 파일을 다운로드하지 않고 사용합니다.
내 예제가 당신이 이미하고있는 것과 다른지 확실하지 않습니다. 어쩌면 당신은 방금 포함하는 것을 잊었을 것입니다 DotNetFX35SP1
설치 CD의 폴더?
다른 팁
당신은 이것을 체크 아웃 할 수 있습니다 Microsoft 샘플 코드, WIX는 Bootstrapper/Chainer를 제공하지 않는다는 것입니다. Wix 3.5까지 "Burn"도구로 오지 않습니다.
원래 예에서 무엇을 사용하고 있는지 잘 모르겠습니다. msbuild
또는 무언가 - WIX 구성 요소가 아닙니다.