문제

사용자 정의 조치를 위해 xmlpreprocess.exe (codeplex 유틸리티)에 이름을 지정하도록 설정하고 있습니다.

및 인수 : /x : [settingsfile]/i:";targetDir] web.config " /e : [환경 부트 턴] [CustomEttings]> [targetDir] xmlpreprocess.log

SettingSfile은 내가 추가 한 사용자 정의 양식 페이지에서 제공되어야하며 EnvironmentButton은 내 라디오 버튼 중 하나의 값입니다.

리디렉션이 작동하는 방법이 있습니까? .log 파일을 작성하지 않습니다. 사용자 정의 작업의 결과를 볼 수있는 다른 방법이 있습니까? 실행되었는지 확인하려면 어떻게해야합니까? Parms가 무엇을 보냈는지보고 싶다면 어떻게해야합니까?

업데이트 3 : - 내가 시도한 것의 더 많은 시나리오는 여기를 참조하십시오.http://xmlpreprocess.codeplex.com/thread/view.aspx?threadid=79454

감사,

업데이트 : 방금 파크를 확인하기 위해 Quickie VBScript를 작성했습니다.

dim fso, oFile 
set fso = Createobject("Scripting.FileSystemObject") 
set oFile = fso.CreateTextFile("VBScriptOut.txt") 

if WScript.Arguments.Count < 2 then 
   oFile.Writeline("Number of arguments was only = " & WScript.Arguments.Count)
else 
   oFile.WriteLine("SETTINGSFILE=" & WScript.Arguments.Item(0))   
   oFile.WriteLine("ENVIRONMENTBUTTON=" & WScript.Arguments.Item(1))
end if 

oFile.close

vbscriptout.txt가 생성되지 않았으므로도 실행되지 않았다고 생각합니다 (따라서 내 추측은 xmlpreprocess도 실행되지 않습니다).

"install"에서 사용자 정의 조치로 installverification.vbs 파일을 포함시켰다. 속성 창에서 조건 = true를 설정합니다. CustomActionData를 [SettingSfile]로 설정했습니다. [EnvironmentButton

업데이트 2 : 이제 조건이 "진실"이 아니어야한다는 것을 깨달았습니다. 비워 지거나 "설치되지 않았다"고 설정합니다.

xmlpreprocess에서 설명 할 수없는 오류가 발생하고 VBScript를 실행할 수 없습니다. cscript64.exe로도 실행을 시도했습니다.

도움이 되었습니까?

해결책

명령 프롬프트 (및 가끔 기타 도구) 만 기호보다 큰 기호를 사용하여 출력 리디렉션을 나타냅니다. Windows Installer는이 기호를 처리하지 않는 Win32 CreateProcess API를 호출합니다. 따라서 결과를 기록하려는 시도는 작동하지 않습니다. 아마도 당신은 당신의 명령을 다시 작성할 수 있습니다 cmd.exe /c XmlPreprocess.exe /x ... > [TARGETDIR]XmlPreprocess.log (일부 추가 인용이 필요할 수 있습니다).

디버깅 목적으로 설치 프로세스의 장점을 사용하여 일반적으로 더 많은 정보를 얻을 수 있습니다. 속성 목록과 시작한 사용자 정의 작업 및 리턴 코드가 포함됩니다. 귀하의 경우 응용 프로그램에 전달 된 완전히 형식의 명령 줄도 포함 할 것이라고 생각합니다.

업데이트 2에서 말하는 것처럼 True 실제로 이름의 속성이 찾는 것을 의미합니다. True 정의됩니다. 항상 사실 인 것을 원한다면 가치를 사용하십시오. 1.

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