2009-10-14 2 views
1

VS 전문가가 없기 때문에 .msi 파일을 만들 수 없습니다. NSIS 또는 Inno Setup이 제공하는 것보다 설치 프로그램을 훨씬 더 제어하고 싶습니다.vb.net에서 설치 프로그램을 만드는 방법

것들 내가 어떻게 해야할지하지 않습니다

  • 가 제거의 파일 (들)
  • 이 파일을 제거를 추출 설치 파일
  • 로 파일을 압축

도움을 주시면 감사하겠습니다.

나는이 점을 강조 할 것이다 : 나는 기존 도구를 사용하고 싶지 않다.

답변

4

WiX와 같은 정상적인 것을 사용하지 않으려면 직접 MSFT 설치 프로그램 API가 있어야합니다. 그들은 여기 MSDN에서 시작합니다 : http://msdn.microsoft.com/en-us/library/aa372860%28VS.85%29.aspx, 그리고 그게 Microsoft가 WiX를 개발하기 전에 사용했던 것입니다.

+0

Err, 어떻게 사용합니까? "Installer"개체를 찾을 수없는 것 같습니다. – Cyclone

+0

GetTypeFromProgID 및 Activator.CreateInstance를 사용하십시오. Type 개체의 GetTypeFromProgID 메서드를 사용하여 형식을 요청할 수 있습니다. 그런 다음 정적 메서드 Activator.CreateInstance를 사용하여 유형에서 만듭니다. –

2

혹시 WiX에 대해 들어 보셨습니까? MSI 파일을 생성하기위한 오픈 소스입니다.

+0

"기존 도구를 사용하고 싶지 않습니다." 어쨌든 고마워, 나는 그것을 시도했지만 그것을 좋아하지 않아. – Cyclone

+2

WiX는 많은 제어 기능을 제공합니다. 왜 당신은 바퀴를 재발 명하고 싶습니까? –

+0

나는 WiX가 싫어. 나는 내 자신을 만드는 것이 훨씬 쉽다는 것을 알게 될 것이다. – Cyclone

1

NSIS에서 제공하는 컨트롤을 확인해 보셨습니까?

당신이해야 할 일을 발견하지 못했습니다. 유일한 단점은 가파른 학습 곡선입니다.

감당할 수있는 경우 Installshield를 구입하십시오. 상업용 소프트웨어의 대다수가 Installshield를 사용하는 이유가 있습니다. 설치가 쉽고, 실제 문제에 대한 작업에 시간을 할애 할 수 있습니다. 바보 같은 설치 관리자에 대한 걱정은 없습니다.

그렇지 않으면 자신의 설치 프로그램을 작성하고 바퀴를 reinventing의 고통을 즐길 수 있습니다.

편집 익스프레스 에디션과 함께 ClickOnce 설치 프로그램을 사용할 수 있습니다. 나는 그것을 전에 사용했는데 그것은 참으로 훌륭합니다.

+0

내가 보았는데, 나는 그것을 좋아하지 않는다. 나는 installshield를 살 여력이 없다. NSIS, WIX, Inno Setup, Advanced Installer 등을 시도했다. 그리고 네, 제 자신을 쓰고 싶습니다. 당신이 그렇게 할 시간이 없다면 휠을 재가동하는 것이 아플뿐입니다. 나는 현재 돼지 독감에 걸렸습니다. 이것은 문제가되지 않습니다. 자, 어떻게 내 자신의 글을 쓸 수 있습니까? – Cyclone

+0

@ClickOnce : 웹 설치 프로그램이라고 생각하십니까? 한 번 해봤지만, 어떤 이유로 든 내 응용 프로그램을 깨뜨린 채 계속되었습니다. – Cyclone

2

이렇게하기를 원한다면 % windir % \ system32 \ msi.dll에 대한 참조를 프로젝트에 삽입하십시오. & WindowsInstaller 네임 스페이스를 가져올 수 있습니다.

나는 당신이하고 싶은 것을 모릅니다. 이노, NSIS 또는 윅스가 충분히 간단하게 할 수는 없지만 특별한 피크닉이 될 수는 없습니다.

+0

감사합니다. – Cyclone

+0

K, 몇 가지 사용 예제를 제공해 주시겠습니까? – Cyclone

+0

편리한 것은 아니지만 Windows SDK와 함께 제공되는 Windows Installer SDK에 일부 코드 샘플이 있습니다. http://msdn.microsoft.com/en-us/library/aa370834(VS.85).aspx가 시작됩니다. – DaveE

관련 문제