Tệp cài đặt ứng dụng của tôi đang được tạo bằng WiX. Trong cấu hình WiX tôi đang kết hợp một loại tệp hoạt động với ứng dụng. Làm cách nào để liên kết biểu tượng với loại tệp này trong cấu hình WiX?Tôi làm cách nào để đặt biểu tượng cho tệp được liên kết bằng WiX?
Trả lời
Đây là cách tôi đã làm. Tôi tuyên bố:
<Icon Id="Icon.exe" SourceFile="..\Installer\Graph.ico" />
trước </Product>
và thêm nó như là một tài liệu tham khảo như sau:
<ProgId Id='myApp.exe' Description='Some description' Advertise='yes' Icon='Icon.exe'>
<Extension Id='xyz' ContentType='application/text'>
<Verb Id='open' Sequence='10' Command='Open' Argument='"%1"' />
</Extension>
</ProgId>
TỪ: http://www.tramontana.co.hu/wix/lesson1.php#1.7
Nếu ứng dụng của bạn xử lý loại tập tin dữ liệu riêng của mình, bạn sẽ cần phải đăng ký một hiệp hội tập tin cho nó. Đặt một ProgId bên trong thành phần của bạn. FileId nên tham chiếu đến thuộc tính Id của phần tử Tệp mô tả tệp có nghĩa là để xử lý các tệp của tiện ích mở rộng này. Lưu ý các dấu chấm than: nó sẽ trở lại con đường ngắn của tập tin thay vì lâu nhất:
<ProgId Id='AcmeFoobar.xyzfile' Description='Acme Foobar data file'>
<Extension Id='xyz' ContentType='application/xyz'>
<Verb Id='open' Sequence='10' Command='Open' Target='[!FileId]' Argument='"%1"' />
</Extension>
</ProgId>
Để gán một biểu tượng để loại tập tin này, bạn phải xác định đăng ký phù hợp các entry bản thân bên trong thành phần của bạn:
<Registry Id='FooIcon1' Root='HKCR' Key='.xyz' Action='write'
Type='string' Value='AcmeFoobar.xyzfile' />
<Registry Id='FooIcon2' Root='HKCR' Key='AcmeFoobar.xyzfile' Action='write'
Type='string' Value='Acme Foobar data file' />
<Registry Id='FooIcon3' Root='HKCR' Key='AcmeFoobar.xyzfile\DefaultIcon' Action='write'
Type='string' Value='[INSTALLDIR]Foobar.exe,1' />
tôi khuyên bạn nên sau tràn bài chồng tôi nằm here cho cách đơn giản và thanh lịch nhất của nhúng vào biểu tượng một tài nguyên mà không cần một dự án C++ trong một ứng dụng .NET được quản lý.
Tiếp theo, đây là cách thích hợp để thiết lập này qua wix:
<Component Id="stackoverflowFileRegistration" Guid="MY_GUID">
<RegistryKey Root="HKCR" Key=".stackoverflow" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
<RegistryValue Value="stackoverflow.Document" Type="string" KeyPath="yes" />
<RegistryValue Name="Content Type" Value="application/stackoverflow" Type="string" />
<RegistryKey Key="ShellNew" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
<RegistryValue Name="NullFile" Value="" Type="string" />
<RegistryValue Name="Data" Value="Default new document Content.. NOTE: you must use a MutiStringValue nodes for multi-line content...." Type="string"/>
</RegistryKey>
</RegistryKey>
<RegistryKey Root="HKCR" Key="stackoverflow.Document" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
<RegistryValue Value="stackoverflow Document" Type="string" />
<RegistryKey Key="DefaultIcon" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
<RegistryValue Value="[INSTALLDIR]bin\stackoverflow.lib.dll, 1" Type="string" />
</RegistryKey>
<RegistryKey Key="Shell" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
<RegistryKey Key="openstackoverflowwebsite" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
<RegistryValue Value="Open Stackoverflow" Type="string" />
<RegistryKey Key="command" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
<RegistryValue Value=""[INSTALLDIR]stackoverflow.exe" /openwebsite "%1"" Type="string" />
</RegistryKey>
</RegistryKey>
</RegistryKey>
</RegistryKey>
</Component>
mẫu này đăng ký vào biểu tượng mặc định cho một phần mở rộng tập tin cụ thể (.stackoverflow) mà nằm trong một assembly từ bước 1. Nó cũng cho thấy cách tạo các lệnh nhấp chuột phải của Windows Explorer cũng như thêm một mục trình đơn vào menu phụ Windows Explorer Mới.
Cảm ơn
-Blake Niemyjski
Mã này hoạt động như WIX 3.6 ... –
- 1. Làm cách nào để đặt biểu tượng cho tiện ích mở rộng tệp của riêng tôi
- 2. Làm cách nào để liên kết tệp .o bằng g ++
- 3. Tôi có thể lấy Biểu tượng Tệp bằng cách nào?
- 4. Làm cách nào để tải biểu tượng NSImage của biểu tượng cho ứng dụng của tôi?
- 5. Tôi làm cách nào để đặt tên liên kết cho hàng bảng html?
- 6. Làm cách nào để đặt biểu tượng tùy chỉnh cho tệp dll?
- 7. Làm cách nào để mã hóa phần tệp app.config trong khi cài đặt bằng WiX?
- 8. Làm cách nào để liên kết tĩnh biểu tượng trên cửa sổ bằng cách sử dụng msys?
- 9. Cách lấy biểu tượng được liên kết từ tệp chia sẻ mạng
- 10. Làm thế nào để làm cho WiX để lại tệp sau khi gỡ cài đặt?
- 11. Wix không thể giải quyết biểu tượng "Biểu tượng"
- 12. Làm cách nào để cài đặt với các quyền nâng cao bằng trình cài đặt WiX?
- 13. Làm cách nào để tìm URL liên kết bằng văn bản liên kết với XPath?
- 14. Cách tiêu chuẩn để thêm biểu tượng vào liên kết bằng CSS là gì?
- 15. Làm cách nào để biểu diễn các liên kết tượng trưng của hệ thống tệp trong một mã băm Perl?
- 16. Tôi làm cách nào để cài đặt và gỡ cài đặt im lặng bằng WiX và MSI?
- 17. Làm cách nào để liên kết tệp đối tượng C tĩnh với Perl?
- 18. Làm cách nào để sử dụng cột ProgID trong cài đặt Liên kết tệp?
- 19. Làm cách nào để xóa liên kết tượng trưng?
- 20. Làm cách nào để đặt liên kết để định tuyến bằng phân đoạn động
- 21. wix - biểu tượng phím tắt cho trang web
- 22. Làm cách nào để loại trừ các tệp SVN khỏi thu hoạch bằng nhiệt (WiX)?
- 23. Làm cách nào để thay đổi liên kết tệp cho các tệp .py Python trong XP?
- 24. Làm cách nào để triển khai Liên kết Liên kết đến ứng dụng web của tôi?
- 25. Làm thế nào tôi có thể đặt biểu tượng Windows Package Installer thay vì mặc định trong WiX
- 26. Làm cách nào để in biểu tượng Celsius bằng matplotlib?
- 27. Tôi làm cách nào để tạo liên kết tải xuống bằng HTML?
- 28. Làm cách nào để sửa lỗi "Không xác định biểu tượng cho kiến trúc i386:" _main "liên kết vấn đề?
- 29. Làm cách nào để tạo biểu tượng Khay bằng FireMonkey?
- 30. Làm thế nào để thay đổi biểu tượng trong dấu nhắc UAC của trình cài đặt đã ký (WiX)?
Và những gì hiện các Foobar.exe bên Value = '[InstallDir] Foobar.exe, 1' /> tham khảo? Và nơi nó cư trú? – Filip
liên kết đã chết – DonDon