2

, 내 코드는 지금설치 프로그램에서 경로를 얻는 방법과 내 앱에서 설정하는 방법은 무엇입니까? 내가 승리 응용 프로그램을 쓰고 있어요 지금은 내 응용 프로그램에 대한 설정을 할

Microsoft.Win32.RegistryKey rk = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\Cu­rrentVersion\Run"); 
rk.SetValue("MyAppName", @"C:\WhereMyAppIs\MyApp.exe"); 

방법을 설정하는 설치 프로그램에서 경로를 얻을 수 있습니다 ??? 덕분에 . 이 Windows 설치 (.MSI 파일)를 설치 한 경우

+0

흠. 왜 수동으로 레지스트리 항목을 만들어야합니까? Visual Studio를 사용하여 새로운 "설치 프로젝트"를 만듭니다. 최종 사용자의 컴퓨터에 응용 프로그램을 설치하는 데 필요한 핵심적인 작업을 자동으로 처리합니다. –

답변

2

당신은 비주얼 스튜디오를 사용하는 경우, 설치 프로젝트 ->보기 -> 레지스트리에서 마우스 오른쪽 버튼을 클릭 한 다음 원하는 레지스트리 키를 설정할 수 있습니다. 이 사이트 밖으로

확인 :

msi - Set InstallPath registry key

Registry Settings Management (MSDN)

+0

나는 아직 내 문제를 해결할 수 없다./ – Farna

+0

나는 "setup project -> View -> Registry"와 같은 방식으로 레지스트리 키를 만든 다음 원하는 레지스트리 키를 설정한다. " 하지만 지금은 어떻게 설치 될 때 가치를 설정할 수 있습니까? 나는 사용자로부터 경로를 얻고 싶다는 뜻입니다. – Farna

+0

매우 지연된 답변을 드려 죄송합니다. 경로를 읽고 레지스트리에 저장하는 exe-file을 호출하는 사용자 지정 작업을 추가 할 수 있습니다. 설치 프로젝트 ->보기 -> 사용자 지정 작업 -> 설치 및 사용자 지정 작업 추가를 선택하여 exe 파일을 추가하십시오. – swissben

0

, 당신은 MsiGetComponentPath API를 사용할 수 있습니다 :이 같은

[DllImport("msi.dll", CharSet = CharSet.Unicode)] 
    private static extern int MsiGetComponentPath(string szProduct, string szComponent, StringBuilder lpPathBuf, ref int pcchBuf); 

전화를 :

int len = 256; 
StringBuilder sb = new StringBuilder(len); 
MsiGetComponentPath(productCode, componentId, sb, ref len); 
+0

@Simon Mourier : 설치 파일을 설치할 때 레지스트리 키를 설정하고 싶지만 사용자로부터 경로를 얻은 다음 레지스트리 값 키를 설정하는 방법을 모르겠습니다. – Farna

+0

@ na.farzane - Windows 설치 프로그램을 사용하고 있습니까? –

+0

@Simon Mourier : 저는 Visual studio를 사용합니다. – Farna