Tôi có một số ứng dụng (một số bản địa, một số .NET) sử dụng tệp kê khai để chúng có thể được triển khai hoàn toàn riêng biệt mà không yêu cầu bất kỳ đăng ký COM toàn cầu nào. Ví dụ: sự phụ thuộc vào máy chủ dbgrid32.ocx com được khai báo như sau trong tệp myapp.exe.manifest nằm trong cùng thư mục với myapp.exe:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity type="win32" name="myapp.exe" version="1.2.3.4" />
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="dbgrid32.ocx" version="5.1.81.4" />
</dependentAssembly>
</dependency>
</assembly>
Dbgrid32.ocx được triển khai vào cùng một thư mục, cùng với tệp dbgrid32.ocx.manifest của riêng nó:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity type="win32" name="dbgrid32.ocx" version="5.1.81.4" />
<file name="dbgrid32.ocx">
<typelib
tlbid="{00028C01-0000-0000-0000-000000000046}"
version="1.0"
helpdir=""/>
<comClass progid="MSDBGrid.DBGrid"
clsid="{00028C00-0000-0000-0000-000000000046}"
description="DBGrid Control" />
</file>
</assembly>
Tất cả điều này đều hoạt động tốt nhưng việc duy trì các tệp kê khai này theo cách thủ công là một chút khó khăn. Có cách nào để tạo các tệp này tự động không? Lý tưởng nhất là tôi chỉ muốn khai báo sự phụ thuộc của ứng dụng vào danh sách các máy chủ COM (cả bản địa và .NET) và sau đó để phần còn lại được tạo tự động. Nó có khả thi không?