2008-11-06 7 views

답변

2

InstallStateDir의 값을 설정해야합니다.
Commit/Install/Rollback/Uninstall을 무시하고 InstallStateDir (I.E. Context [ "InstallStateDir"] = @ "c : \ mydir")의 값을 으로 설정해야합니다.

1

또한 명령 줄에서/InstallStateDir = "c : \ myfolder"를 지정하여 작동해야합니다 (KB946503 참조). 그러나 InstallContext가 혼합 된 경우 매개 변수 이름 찾을 것으로 예상, AssemblyInstaller에서 다음 코드를 분해하는 소문자로 모든 매개 변수 이름을 변환된다 가능성 상태를 저장하기 위해 일하는 것이

private string GetInstallStatePath(string assemblyPath) 
{ 
    string str2 = base.Context.Parameters["InstallStateDir"]; 
    assemblyPath = Path.ChangeExtension(assemblyPath, ".InstallState"); 
    if (!string.IsNullOrEmpty(str2)) 
    { 
     return Path.Combine(str2, Path.GetFileName(assemblyPath)); 
    } 
    return assemblyPath; 
} 

설정 컨텍스트 [ "InstallStateDir을"]; 그러나 상태가 Uninstall에서 컨텍스트를 수정할 수 있기 전에로드되므로 Microsoft가 위의 AssemblyInstaller.GetInstallStatePath 메서드를 수정해야만 해결할 수 있습니다.

관련 문제