2010-02-23 1 views
2

우리 C# 프로젝트를 실행하려면 대상 컴퓨터에서 두 가지 작업이 필요합니다. 첫 번째는 .net 2 이상입니다. 이는 사용자에게 공정한 요구 사항입니다. 두 번째는 C++ 재배포 가능 패키지입니다. 우리는 skincrafter를 사용하기 때문에 이것을 필요로합니다. 대상 컴퓨터에서 찾기가 약간 더 드뭅니다. 현재 우리는 Visual Studio를 사용하여 배포하고 setup.exe를 작성하여 .net과 C++ 재배포 가능 파일이 모두 대상 시스템에 저장되도록합니다.C++ 재배포 가능 exe가 수행하는 작업을 MSI에서 수행 할 수 있습니까?

네트워크 관리자가 네트워크를 통해 프로그램을 배포하려고 할 때 문제가 발생합니다. 그들은 setup.exe가 아닌 msi 만 사용합니다. 즉, 네트워크상의 컴퓨터가 프로그램을 설치하려고 시도 할 때 해당 컴퓨터에 C++ 재배포 가능 패키지가 없으면 프로그램이 제대로 작동하지 않습니다.

내가 읽은 바로는 재배포 가능 파일이 컴퓨터에 일부 dll을 넣는 것 같습니다. 그렇다면 반드시 해당 DLL을 msi에 포함시켜 대상 컴퓨터에 설치해야합니다. 아니면 그렇게 간단하지 않습니까?

답변

0

예, MSI에 C++ 재배포 가능 항목을 추가 할 수 있습니다. MSI의 dll을 사용하면 대상 시스템에 dll을 등록 할 수 있습니다. 그래서 당신도 그렇게 할 수 있습니다.

+0

감사합니다. 내가 포함해야하는 dll은 gdiplus.dll, mfc90.dll, msvcr90.dll, Microsoft.VC90.MFC.manifest, Microsoft.VC90.CRT.manifest입니다. 지금 그들을 찾아야합니다. DLL 등록에 대해 언급했는데 Register/System/SharedLegacyFile 또는 영구 파일 또는 그 조합을 설정해야합니까? C++ DLL을 호출하는 미리 컴파일 된 dll이라는 것이 중요합니까? – Septih

+0

등록에 적절한 값을 설정하십시오. Vital = true. 이렇게하면 dll이 대상 컴퓨터에 등록되고 실패 할 경우 설치가 롤백됩니다. – Kangkan

관련 문제