2012-01-18 32 views
12

Trong Inno Setup FAQ là ví dụ về cách gán kiểu tệp cho phần mềm của tôi. Đối phó với đăng ký là không có vấn đề.Cài đặt Inno Tùy chọn (người dùng có thể chọn) liên kết tệp

Nhưng làm cách nào tôi có thể cung cấp cho người dùng lựa chọn trong đó loại tệp mà anh ấy muốn chỉ định? Giả sử, tôi đã viết một trình soạn thảo đơn giản cho các tệp văn bản và muốn hỏi xem người dùng có muốn gán .txt và/hoặc .nfo với chương trình của tôi không. Trang thiết lập có hộp kiểm sẽ là thiên tài.

Làm cách nào để thực hiện việc này với Cài đặt Inno?

Trả lời

17

Thêm 'Tác vụ' vào thiết lập và liên kết từng mục trong sổ đăng ký của liên kết tệp của bạn với Tác vụ này. Ví dụ:

[Tasks] 
Name: mypAssociation; Description: "Associate ""myp"" extension"; GroupDescription: File extensions: 

[Registry] 
Root: HKCR; Subkey: ".myp"; ValueType: string; ValueName: ""; ValueData: "MyProgramFile"; Flags: uninsdeletevalue; Tasks: mypAssociation 
Root: HKCR; Subkey: "MyProgramFile"; ValueType: string; ValueName: ""; ValueData: "My Program File"; Flags: uninsdeletekey; Tasks: mypAssociation 
... 


Xem tài liệu về 'Công việc' here.

+0

tuyệt vời :-) cảm ơn bạn – 0xDEADBEEF

+0

Điều này làm việc hoàn hảo cho tôi, cảm ơn bạn! :) – Kaitlyn

0

Sử dụng phần [Tác vụ] là cách dễ nhất để liên kết tệp với ứng dụng của bạn trong Cài đặt Inno như @Sertac đã nói. Sau đó bạn sẽ điền vào các chi tiết cho phần mở rộng bạn muốn liên kết trong phần [Registry]. Để biết thêm thông tin về việc này, hãy kiểm tra số Inno Setup FAQ page.

+1

Liên kết của bạn bằng cách nào đó bị hỏng. Nhưng bạn có thể có nghĩa là ['Câu hỏi thường gặp này'] (http://www.jrsoftware.org/isfaq.php#assoc) mà từ đó Sertac chỉ hiển thị một phần trong câu trả lời của anh ta (vì thế có' ... 'ở phía dưới của ví dụ mã của anh ấy). Vì vậy, câu trả lời của bạn thêm thực sự không có gì cho chủ đề này. Tuy nhiên, việc bỏ một nhận xét có liên kết đến Câu hỏi thường gặp đó có thể hữu ích và đáng để đề cập đến. – TLama

+0

Xin chào @TLama, vâng, bạn đã đúng về liên kết. Tôi đã sửa nó. Tôi cũng tìm thấy liên kết này đến FAQ hữu ích, bởi vì nó giải thích tất cả những liên kết này trong phần [Registry] là gì. –

1

Bạn có thể tìm thấy một số thông tin về hiệp hội tập tin trong InnoSetup trong một câu trả lời trước: Stackoverflow - Inno setup file association

Và ở đây, chúng ta có thể tìm thấy một dụ để sử dụng liên kết tập tin này trong chương trình .net, chỉ bằng cách phân tích các đối số trong phương pháp chính: Stackoverflow - Associate a file extension with WPF application

+1

Vâng, ngay cả ở đây, OP cũng biết cách tự tạo mối liên kết (xem câu đầu tiên của câu hỏi này). Câu hỏi đặt ra ở đây là làm thế nào để làm cho hiệp hội này có điều kiện theo một cách nào đó. Đó là lý do tại sao Sertac đề nghị sử dụng phần '[Tasks]' và rút ngắn kịch bản từ câu hỏi thường gặp đó (mà OP được đề cập trong câu hỏi của họ). Vì vậy, ngay cả điều này cho biết thêm thực sự không có gì để * thread *. – TLama

Các vấn đề liên quan