2014-02-20 4 views
2

WIX 프로젝트와 부트 스트래퍼가 있습니다. WIX의 Reboot 속성을 사용하여 설치가 완료된 후 컴퓨터를 다시 부팅 할 것인지 묻는 메시지가 나타납니다. 하지만 Bootstrapper를 사용하여 msi를 실행하면 컴퓨터를 다시 부팅하라는 메시지가 표시되지 않았습니다. 아래 내가 WIX에서 Product.wxs 파일에 사용하고 내 코드입니다 : - 이제설치 후 재부팅 메시지를 표시합니다. WIX 부트 스트 래퍼

<Property Id="REBOOT" Value="Force"/> 

난 다음 부트 스트 래퍼 프로젝트에 MSI의 체인을 사용하고 있습니다 : -

<Chain> 

    <MsiPackage SourceFile=".\Bonjour.msi" Compressed="yes" /> 
    <MsiPackage SourceFile=".\Security_IDTools.msi" Compressed="yes" /> 
    <MsiPackage SourceFile ="$(var.BiodentifySetUp.TargetPath)" Compressed ="yes" DisplayInternalUI="yes" /> 

    </Chain> 

그러나 때 내 마지막 MSI를 재부팅 메시지를 표시하지 않았습니까?

답변

1

Priyanka 재부팅 후 설치를 계속할 계획이라면 부트 스트 래퍼와 함께 MSI의 재부팅 프롬프트를 사용하지 마십시오.
부트 스트 래퍼를 효과적으로 중단하고 필요할 경우 다시 부팅 할 때 재시작 할 기회가 없기 때문입니다. MsiPackage 이후에 다시 시작해야합니다. 강제 재부팅 후 재부팅 후 Burn이 자동으로 재개되고 나머지 MSI/Exe가 설치됩니다.
그런 계획이 없다면 MSI에 ScheduleReboot Action과 함께 갈 수 있습니다.

<InstallExecuteSequence> 
    <ScheduleReboot After="InstallFinalize"/> 
</InstallExecuteSequence> 

이렇게하면 설치가 완료된 후 MSI 패키지가 다시 부팅됩니다.
그리고 오류가 있는지 로그를 확인하십시오.

+2

' (msi) 요소에서''대신''요소 (Burn)의''를 사용 하시겠습니까? 그러나 ''요소는 ''요소에서만 사용 가능하며 ''요소에서는 사용할 수 없습니다. – sky

1

REBOOT 속성은 강제로 재부팅하지 않으며 사용중인 컨텍스트에서 WiX 속성이 아닌 Windows Installer 속성입니다. REBOOT 속성은 재부팅이 발생할 때 Windows가 어떤 동작을해야하는지 알려줍니다. 님므시 (Nimish)가 말한 것처럼, MSI 설치가 끝나면 재부팅하고 묻기를 원할 경우 MSI 파일에 ScheduleReboot 액션이 필요합니다.

왜 처음부터 다시 부팅해야하는지에 대한 질문이 있습니다. Windows는 필요할 때마다 재부팅 할 것입니다. 설치가 끝났기 때문에 재부팅이 필요하다고 가정 할 필요가 없습니다.

2

A Windows 8 및 Windows 7의 경우에도 이벤트 및 보안의 어리석은 동작으로 인해 재부팅이 필요할 수 있습니다. 그것은 모든 서비스가 올바르게 시작되었는지 확인하는 "가장 쉬운"방법입니다. 이미 언급했듯이 중간에 부트 스트 래퍼가 중단되지 않도록 최선의 선택이 될 것으로 기대합니다.