2017-12-18 23 views
1

이 질문이 있으면 유감스럽게 생각합니다. 인터넷 검색을 할 때 특별히이 사례를 찾을 수 없으며 솔직히 말해서 어떤 태그가 있는지 확실하지 않습니다. 용도.바이너리를 다운로드하고 현재 버전을 닫은 후 새 버전을 실행하십시오.

나는 발사대로 해결책을 개발 중이다. 그러나 문제가 있습니다 : 우리 팀은 런처와 실제 프로그램을 서로 다른 두 가지 바이너리 파일로 만들고 싶지 않습니다. 생각하는 실수라고 생각합니다.

어느 쪽이든 그들은 마음을 바꾸지 않으므로 우리는 그렇게 할 것입니다.

프로그램의 내 "런처"부분은 현재 서버에서 새 버전을 성공적으로 가져옵니다. 그러나 새 버전이 다운로드 되 자마자 현재 바이너리를 종료하고 이전 바이너리를 삭제 한 다음 새 바이너리를 실행할 수 있기를 원합니다.

그것은 멀티 플랫폼이어야합니다.

올바르게 기억한다면 리눅스에서 하드 드라이브의 바이너리를 메모리에서 실행할 때 삭제할 수 있다고 생각합니다. 그러나 Windows에서 할 수 있는지 정말 확실하지 않습니다.

현재 Windows에서 실행중인 프로그램을 삭제할 수 있습니까? 새 프로그램을 어떻게 든 시작하라는 지시와 함께 가능합니까?

당신의 의견을 말해주십시오. 내 마음 속에는 그것이 실제로 불가능한 것처럼 들리지만, 할 수 있다면, 나는 정말로 어떻게 알고 싶습니다. 적어도 어느 OS에서든 수행 할 수 없다면 팀에게 답변을 보여줄 것입니다.

미리 감사드립니다. 매우 모호한 "what if"질문 등에 대해 사과드립니다.

+1

Windows에서 많은 소프트웨어가 닫히고 이진 파일이 다시 열리는 updaters가있을 수 있다고 생각합니다. 내 머리 꼭대기에있는 것은 현재 [DS4windows] (https://github.com/Jays2Kings/DS4Windows)입니다. 코드를 체크 아웃하고 코드를 빌드 할 수 있는지 확인하는 것이 좋습니다. 그런 다음에는 미안해 나는별로 도움이되지 못한다. –

+0

그것은 이미, 감사합니다. 나는 계속 볼거야. – Tohkai

답변

1

나는 당신과 동의한다, 아마 좋은 생각이 아니다. 질문은 이전에 제기되었습니다.

How can a C++ binary replace itself?

대답은 실제로 실행 프로그램을 직접 개발하지 않고, "심"의 사용은 당신이 실행기 설명 일을 할 수있는 Windows에이 작업을 수행하는 방법에 대한 설명이 포함되어 있습니다.

+0

이것은 내가 필요한 것 같습니다. 감사. – Tohkai