Vista(및 그 이상) 시스템에 대한 .NET 3.5 설치를 간소화하는 데 필요한 WiX 변경 사항

StackOverflow https://stackoverflow.com/questions/624614

문제

우리는 과감히 미디어 센터 플러그인을 사용하기 전에 사용자가 .NET 3.5를 설치하도록 요구하기로 결정했습니다.

저는 설치 경험이 최대한 원활하고 설치 프로그램의 규모가 작은지 확인하고 싶습니다.

내 계정에 어떤 변경이 필요합니까? WiX 파일 다음 시나리오를 지원하려면?코드 예제를 주시면 감사하겠습니다.

  • 사용자에게 .Net Framework 3.0이 설치되어 있고 대화형으로 설치되어 있습니다.

원하는 동작:사용자에게 새 버전의 프레임워크가 필요하다는 메시지가 표시되고, 동의하면 dotNetFx35setup.exe(2.7MB)가 다운로드된 후 실행됩니다.드디어 설치가 진행됩니다.

  • 사용자가 .Net Framework 3.0을 비대화형으로 설치했습니다.

배경:사용자가 기존 버전을 업그레이드하기로 선택한 경우 미디어 센터 내에서 자동 업데이트를 용이하게 하기 위해 "msiexec.exe /qb /i mediabrowser.msi"를 실행할 수 있습니다.

원하는 동작:사용자에게 새 버전의 프레임워크가 필요하다는 메시지가 표시되고, 동의하면 dotNetFx35setup.exe(2.7MB)가 다운로드된 후 실행됩니다.마지막으로 설치가 자동으로 진행됩니다.

이러한 라인을 따라 무언가를 구현하는 다른 오픈 소스 프로젝트가 있습니까?

관련 질문:~이다 .NET 3.5는 미디어 센터 플러그인에 대한 합리적인 전제 조건입니까?

도움이 되었습니까?

해결책 4

에서 Rob Mensching Lead Wix Developer : 이것은 Burn의 주요 시나리오입니다.

따라서 아니요, Wix Pure로 프로세스를 줄이기위한 내장은 없습니다. 당신은 당신의 쓸 수 있습니다 자신의 부트 스트랩퍼 그렇지만.

다른 팁

MSI가 시작되기 전에 .NET을 설치하는 것이 Setup.exe Bootstrapper의 책임에 속한다고 생각합니다. Wix는 (아직) 부트 스트랩퍼를 생성하는 고유 한 방법이 없습니다 (또는 그렇다면 Wix.chm에 문서화되어 있지 않음). 대신 generatebootstrapper msbuild 작업을 사용하여 setup.exe를 생성 할 수 있습니다. 주제를 살펴보세요 "방법 : 부트 스트랩퍼를 사용하여 .NET 프레임 워크 설치"Wix 문서에서. 다운로드하여 .NET 3.5 SP1을 설치하려면 MSBuild 파일이 다음과 같습니다.

<Project ToolsVersion="3.5"
   xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

    <ItemGroup>
        <BootstrapperFile Include="Microsoft.Windows.Installer.3.1" >
           <ProductName>Windows Installer 3.1</ProductName>
        </BootstrapperFile>
        <BootstrapperFile Include="Microsoft.Net.Framework.3.5.SP1" >
           <ProductName>Microsoft DotNet Framework 3.5 SP1</ProductName>
        </BootstrapperFile>
    </ItemGroup>

    <Target Name="SetupExe">
        <GenerateBootstrapper
            ApplicationFile="myproduct.msi"
            ApplicationName="myproduct"
            BootstrapperItems="@(BootstrapperFile)"
            Path="C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\"
            OutputPath="path/to/put/setup/"
            Culture="en"/>
    </Target>

</Project>

위의 내용을 setup.msbuild 파일에 저장하면 호출하여 설정을 빌드 할 수 있습니다.

C : Windows Microsoft.net Framework V3.5 MSBuild.exe Setup.msbuild

다운로드하지 않고 설치 CD에서 .NET을 설치할 수도 있습니다. 그냥 추가하십시오 ComponentsLocation="Relative" GenerateBootstrapper의 속성에.

dotnetinstaller 이 모든 것을 뒷받침합니다

이를 수행하려면 부트스트래퍼를 사용해야 합니다.Microsoft Installer에서는 이미 실행 중인 다른 설치 프로그램을 시작하는 것을 허용하지 않습니다.Visual Studio에 포함된 msbuild 파일에서 사용할 수 있는 부트스트랩 생성기가 있거나 다양한 오픈 소스 옵션을 살펴볼 수 있습니다.

dotNet설치 프로그램 인기있는 옵션입니다.그리고 "Burn"은 이 작업을 위해 WiX에서 곧 출시될 도구의 이름입니다.그러나 현재로서는 여전히 컨셉웨어입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top