2012-04-20 1 views

답변

2

내가 여기에 뭔가 빠졌는지 확실하지 않지만 설치하기 전에 드라이버를 종료해야하는 경우 사용자 지정 동작이 최선의 방법이라고 생각합니다.

VB 스크립트를 사용하거나 관리되는 어셈블리를 호출하여 사용자 지정 동작을 작성할 수 있습니다. 나는 후자를 더 좋아한다. (VB 대신 C#을 선호한다.) 윅스 소스 파일의 사용자 지정 작업은 같을 것이다 :

어셈블리를 나타내는 이진 요소를 선언으로 호출 할 그런 다음 사용자 지정 작업을 정의

<Binary Id="BIN_DriverManagement" SourceFile=".\DriverManagement.CA.dll /> 

, 어셈블리의 메서드를 호출 :

<InstallExecuteSequence> 
    <Custom Action="CACT_ShutDownDriverAction" After="LaunchConditions" /> 
</InstallexecuteSequence> 
012 :
<CustomAction Id="CACT_ShutDownDriverAction" BinaryKey="BIN_DriverManagement" DllEntry="ShutDownDriver" /> 

마지막 단계는 설치 순서로 사용자 지정 작업을 schedulling 것

실제로 이러한 사용자 지정 작업을 예약해야하는지 여부는 요구 사항에 따라 다릅니다.

C#으로 구현 된 사용자 지정 작업 기능은 Microsoft.Deployment.WindowsInstaller 네임 스페이스의 [에서 CustomAction] 속성을 앞에 추가해야한다, 그래서 다음과 같습니다

[Microsoft.Deployment.WindowsInstaller.CustomAction] 
public static ActionResult ShutDownDriver(Session session) 
{ 
    // Shut down the driver here. 
} 
+0

가 그것을 조금 어렵지 않다 C#을 사용합니까? .NET 런타임이 설치되었는지 확신 할 수 없습니다. –

+0

물론 이것은 문제가 될 수 있지만 사용자 지정 작업은 .NET 코드에만 국한되지 않습니다. CustomAction의 FileKey 특성을 사용하여 실행 가능한 사용자 지정 네이티브 코드를 실행할 수 있습니다. –

관련 문제