문제

나는 성공적으로 제거 타사 응용 프로그램을 통해 명령 라인을 통해 사용자 지정 Inno Setup installer.

명령을 실행:

MSIEXEC.exe /x {14D74337-01C2-4F8F-B44B-67FC613E5B1F} /qn

Inno 설정 명령:

[Run]
Filename: msiexec.exe; Flags: runhidden waituntilterminated; 
Parameters: "/x {{14D74337-01C2-4F8F-B44B-67FC613E5B1F} /qn";
StatusMsg: "Uninstalling Service...";

나는 할 수 있 응용 프로그램을 제거 프로그래밍 방식으로 실행하는 경우 다음과 같은 C#코드를 디버깅 모드입니다.

C#코드:

string fileName = "MSIEXEC.exe";
string arguments = "/x {14D74337-01C2-4F8F-B44B-67FC613E5B1F} /qn";

ProcessStartInfo psi = new ProcessStartInfo(fileName, arguments)
{
    CreateNoWindow = true,
    UseShellExecute = false,
    RedirectStandardOutput = true
};

Process process = Process.Start(psi);
string errorMsg = process.StandardOutput.ReadToEnd();
process.WaitForExit();

동 C#코드,그러나 결과는 다음과 같이 실패할 때 출력 실행으로 컴파일을 배포 윈도우 서비스:

"This action is only valid for products that are currently installed."

추가 코멘트:

  • 윈도우 서비스는 실행 거 명령을 실행하기에 와 같은 컴퓨터 코드 에서 테스트를 디버깅 모드입니다.Windows 서비스가 실행되/으로 로그온 현지 시스템을 계정이다.
  • 저는 상담을 내 응용 프로그램 로그 과가 있는 검증 실행 명령을 인수 thhe 동일한 모두에서 debug 와 release 모니다.
  • 나는 이벤트 뷰어 상담 하지만 그것을 제공하지 않다.

생각?어떤 도움을 주시면 감사하겠습니다.감사합니다.

도움이 되었습니까?

해결책 3

그 덕분에 제공하는 도움이됩니다.을 이용할 수 있는 권한 문제입니다.새 서비스를 실행하에 관리자 계정을 할 수 있었을 성공적으로 제거 타사 응용 프로그램.오리온의 포인트,하지만 현지 시스템을 계정은 강력이 있는 계정의 전체 시스템에 대한 액세스-- http://technet.microsoft.com/en-us/library/cc782435.aspx -그것은 보이지 않는 데 필요한 권한이 있을 수행합니다.

[보 추가적인 코멘트 전체에 대한 이야기에 대한 LocalSystem 할 수 있는 응용 프로그램을 제거하는 그것이 설치됩니다.]

다른 팁

1 단계: 체크인 MSI 오류 로그의 파일

내가 의심스러운는 당신의 문제로 인해 실행으로 LocalSystem.

현지 시스템을 계정이 동일하지 않으로 정상적인 사용자 계정하는 일이 관리자 권한.액세스할 수 없는 네트워크와의 상호 작용 레지스트리와 파일 시스템은 매우 다릅니다.

메모리에서 모든 요청을 읽기/쓰기를'너의 홈디렉토리는'또는 마이크로에서 레지스트리를 실제로 중 하나의 기본 사용자 프로필,또는의 경우에는 임시 dirs, c:\windows\temp

가 유사한 문제와 과거에 설치,고객이 사용하는 시스템 계정을 설치하고 이를 일으키는 모든 종류의 허가 문제에 대한 관리자가 아닌 사용자.

MSI 로그 파일이 없이 정말로 도움이 될 수는 응용 프로그램의 경우 나타나지 않을 설치"",좋을 것을 시작으로 캡처의 출력 MSIINV.EXE 시스템 계정에서,당신을 얻을 것이다는"인벤토리의"현재 설치된 프로그램(또는 해당 사용자에게 설치되) http://blogs.msdn.com/brada/archive/2005/06/24/432209.aspx

내가 생각하는 당신은 아마 이동해야하고 당신이 정말 필요로 윈도우 서비스를 제거합니다.당신은 아마도 모든 종류의 Vista UAC 문제가 없다면 이미...

이것은 선택입니다.LocalSystem 확실히 권한 응용 프로그램을 설치(는 방법은 Windows 업데이트 및 소프트웨어 배포 Active Directory 에서 작동),그래서 그것을 제거할 수 있어야 합니다.

아마 응용 프로그램을 처음 설치하는 사용자 당신의 기준?

@폴 Lalonde

응용 프로그램의 설치 프로그램 내에서 싸여 사용자 지정 InnoSetup 설치 프로그램입니다.이 InnoSetup 설치 관리자는 수동으로 실행하여 로그인한 사용자.는 말했다,제거 트리거 조건이 성립하여 실행되는 서비스는 로컬 시스템에 계정이다.

분명히 했습니다.내가 함께 빠른 테스트는 서비스를 실행하 LocalSystem 계정 설치뿐만 아니라 응용 프로그램을 제거하고 모든 것이 완벽하게 일했다.당신이 맞습니다.LocalSystem 계정에 필요한 제거에 대한 사용 권한 있는 응용 프로그램에 그것을 설치합니다.당신이 하루에 저장합니다.감사에 대한 피드백!

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