천객만래 [千客萬來] (It has an interminable succession of visitors)

비주얼스튜디오 2008을 사용하여 작업을 하고 있다.
비주얼스튜디오 2008은 닷넷 프레임워크 3.5를 지원하고 사용한다.
이번에 윈도우즈 서비스를 제작하면서
윈도우즈 서비스 프로젝트를 제작할 때 사용할 닷넷 버전을 프로젝트 속성에서 설정하는데
.NET Framework 3.5가 아닌 .NET Framework 2.0으로 설정을 했다.
하지만 웬일인지 설치 프로젝트를 제작할 때 위의 프로젝트를 추가하여 발견된 종속성에서는 .net framework 3.5를 계속 사용하려고 하는 것이다.

그래서, .csproj 파일을 직접 살펴보고 수정을 하였다.
3.5 라는 숫자를 검색해 보니 Microsoft.Net.Framework.3.5에 True라고 체크가 되어 있다.
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
      <Visible>False</Visible>
      <ProductName>.NET Framework 3.5</ProductName>
      <Install>True</Install>
    </BootstrapperPackage>

그래서 이부분을 아래와 같이 수정하였다.
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
      <Visible>False</Visible>
      <ProductName>.NET Framework 3.5</ProductName>
      <Install>False</Install>
    </BootstrapperPackage>


그리고  Microsoft.Net.Framework.2.0 에서는 아래와 같이 수정하였다.

<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
      <Visible>false</Visible>
      <ProductName>.NET Framework 2.0%28x86%29</ProductName>
      <Install>true</Install>
    </BootstrapperPackage>

그리고 난 후

<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
      <Visible>false</Visible>
      <ProductName>.NET Framework 2.0%28x86%29</ProductName>
      <Install>true</Install>
    </BootstrapperPackage>


그리고 설치배포 프로젝트에서도
추가 프로젝트를 다시 하고 .NET Framework Version 정보를

3.5.21022   -->>  2.0.50727

로 수정하였다.

.csproj 파일을 수정후 두번에 걸친 Build와 setup.exe를 생성하고 나니 .net framework 3.5를 설치하지 않는 것이다.

이래서 XP버전상에 .net framework 3.5가 설치되지 않은 컴퓨터에서 불필요하게 설치되는 것을 막을 수 있었다.
Posted by SB패밀리