문제

C# 프로그램을위한 설정 프로젝트가 있으며이 설정 프로젝트에는 속성에 버전이 있습니다. 이 버전에 포함되도록 생성 된 MSI 파일을 원하므로 Explorer에서 마우스를 사용하여 파일의 버전을 볼 수 있습니다.

VS2008을 사용하고 있습니다. 어떻게 할 수 있습니까?

도움이 되었습니까?

해결책

"버전 : 1.5.0"텍스트를 설정 프로젝트의 설명 속성에 추가하면 버전 번호는 다음과 같은 MSI 파일에 표시됩니다.

http://screencast.com/t/a499i6js

다른 팁

좋은 질문이지만 모르겠습니다 어느 그렇게 할 수있는 설정 도구. 또한 파일 버전이있는 MSI 파일이 발생하지 않았습니다. 자원 그것에 내장되어 있으므로 일반적인 관행이 아닙니다. 일반적으로 MSI 파일의 버전을 찾고 싶다면 열어야합니다. 범고래 ProductVersion 속성을 확인하십시오 (속성 테이블).

내가 아는 한 MSI 파일은 결코 버전을 표시하지 않습니다. 간단한 이유는 MSI 파일이 PE 파일이 아니기 때문에 일종의 데이터베이스이기 때문입니다. 그런 다음 Msiexec.exe는이 데이터베이스를 실제 설치를 수행하도록 해석합니다. 언급 한 버전 속성은 MSI 엔진에서 내부적으로 업그레이드, 제거 등을 사용하여 사용되며 결코 표시되지 않습니다.

텍스트 편집기에서 관련 .vdproj 파일을 엽니 다. "제품"섹션을 찾은 다음 "Productversion"및 "Manufacturer"필드를 수정하십시오.

 "Product"
    {
    "Name" = "8:Microsoft Visual Studio"
    "ProductName" = "8:tidAxCleanupScript"
    "ProductCode" = "8:{0949AAAD-2C29-415E-851C-825C74C9CA81}"
    "PackageCode" = "8:{8F012EF1-D5D0-43DC-BBFD-761A639DDB07}"
    "UpgradeCode" = "8:{38DE1949-0782-4EF3-BDC2-080EB5B73EF8}"
    "RestartWWWService" = "11:FALSE"
    "RemovePreviousVersions" = "11:TRUE"
    "DetectNewerInstalledVersion" = "11:TRUE"
    "InstallAllUsers" = "11:FALSE"
    "ProductVersion" = "8:**1.5.0**"
    "Manufacturer" = "8:**Default Company Name**"
    "ARPHELPTELEPHONE" = "8:"

잘못되었을 수도 있지만 MSI 버전이 시작 프로젝트의 어셈블리 인포 파일의 버전을 따르지 않습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top