WiX를 사용하여 설치 프로그램을 만들려고합니다. DLL을 .msi 패키지에 포함 시키려면 두 가지 다른 방법을 시도해보십시오.WiX 설치 관리자가 msi에 DLL을 포함합니다.
<DirectoryRef Id="SETTINGSDIR">
<Component Id="CMP_CopySettings" Guid="AC7D1AA1-798B-48F5-AF8D-188B1050D47C" KeyPath="yes">
<CreateFolder />
<File Id="DBA.bat" Source="$(var.SolutionDir)\scr\A\A.WindowsService\bin\$(var.Configuration)\Settings\A_DB clear.bat" Checksum="yes"/>
<File Id="AConfiguration.xml" Source="$(var.SolutionDir)\scr\A\A.WindowsService\bin\$(var.Configuration)\Settings\AConfiguration.xml" Checksum="yes"/>
<File Id="ADB.CE.DEFAULT.sdf" Source="$(var.SolutionDir)\scr\A\A.WindowsService\bin\$(var.Configuration)\Settings\ADB.CE.DEFAULT.sdf" Checksum="yes"/>
<File Id="ADB.CE.sdf" Source="$(var.SolutionDir)\scr\A\A.WindowsService\bin\$(var.Configuration)\Settings\A.CE.sdf" Checksum="yes"/>
<RemoveFile Id="RemoveFileSettings" Name="*" On="uninstall"/>
</Component>
</DirectoryRef>
그러나 쉽게 이해할 수있는, 아주 열심히 각 DLL에 대한 XML 노드 (각각에 대해 200 + DLL을 6 개 프로젝트를) 쓸 것 : 이들 중 하나입니다.
은 두 번째는 빠르지 만 윅스 그냥 내 두 번째 방법으로 추가 할 수있는 빠른 해결책이 있습니까 MSI 패키지
<DirectoryRef Id="SETTINGSDIR">
<Component Id="CMP_CopySettings" Guid="AC7D1AA1-798B-48F5-AF8D-188B1050D47C" KeyPath="yes">
<CreateFolder />
<CopyFile Id="SettingsID" SourceProperty="SETTINGSSOURCEDIRECTORY" DestinationDirectory="SETTINGSDIR" SourceName="*" />
<RemoveFile Id="RemoveFileSettings" Name="*" On="uninstall"/>
</Component>
</DirectoryRef>
에 대신 복사 DLL이 폴더에 대한 링크를 만들거나 나는에있다 heat.exe 도구를 사용 하시겠습니까? 이 경우 사용법을 설명해 주시겠습니까? 공식 문서는 매우 가난
또한 FYI에서는 구성 요소에 또는 태그가 필요하지 않습니다. 또 다른 가장 좋은 방법은 서로 밀접하게 결합되어 있지 않는 한 설치 프로그램의 모든 파일에 대해 별도의 구성 요소를 갖는 것입니다. 두 번째 접근법은 그 디렉토리에서 ** 모든 것을 ** 제거하기 때문에 좋은 생각이 아닙니다. 파일조차도 설치 프로그램이 절대적으로 제거 할 권한이 없습니다 (사용자가 어떤 이유로 든 제거 할 수있는 경우). 바라기를 열 도구는 매우 도움이됩니다. SDK 설치 프로그램에 3000 개 이상의 파일 디렉토리를 수확하는데 사용하므로 매우 유용합니다. –