2016-11-28 2 views
0

레지스트리 키를 만들고 값을 추가하는 InstallSheild msi가 있습니다. 우리는 업그레이드 사이의 값을 기억하는 기능을 좋아하기 때문에 제거시 제거되지 않습니다.값이 이미있는 경우 cmd 줄에서 레지스트리 값 업데이트 InstallSheild

제 질문은 명령 줄을 통해 설치 프로그램을 실행하고 새 값을 전달하면 어떻게 그 값을 무시할 수 있습니까?

지금은 시스템 검색을 통해 값을 찾고, 존재한다면 cmd 행 매개 변수에서 전달한 값과 상관없이 해당 값을 사용합니다. 나는 cmd 라인에서 이전 값 대신에 그것을 사용한다면 상태에 어딘가에 조건을 추가 할 수 있기를 바랬다.

+0

어떻게 현재 값을 추가 하시겠습니까? 그것이 커스텀 액션에서 처리된다면, 그 액션은 존재하는 레지스트리/커맨드 라인 (속성)의 다른 조합을 확인하고, 올바른 일을 할 수 있습니까? –

+0

내가 말할 수있는 것은 사용자 지정 동작을 사용하지 않습니다. 저는 잘못 될 수 있으므로 설치 프로그램을 처음 사용합니다. 그러나 UI는 텍스트 상자의 텍스트를 가져 와서 속성에 넣은 다음 그 속성을 구성 요소로 레지스트리 키에 넣습니다. 저를 혼란스럽게하는 이유는 새로 설치 한 경우 cmd 행을 허용하지만 이미 존재하는 경우 무시합니다. – dstew

+0

이렇게하면 덮어 쓰지 않는 이유를 설명 할 것입니다 (구성 요소가 있으면 다시 설치하지 않으므로 키를 다시 쓰지 않습니다). 그러나 제거 후에도 지속되는 방식은 설명하지 않습니다. 그것이 들어있는 구성 요소가 영구적이지 않은 한, 나는 깨끗한 답이 없다고 생각한다. –

답변

0

한 가지 방법은 그렇게하는 것입니다.

  1. 시스템 검색에서 값을 임시 값으로 지정하십시오.
  2. 그런 다음 시스템 검색 직후에 실행되는 사용자 지정 작업을 만드십시오. 사용자 지정 작업은 cmdline을 통해 아직 설정되지 않은 경우 임시 값으로 대체합니다.
관련 문제