Цитата
apozlevich:
Не делает совсем ничего. Думаю, глупая опечатка, но в упор ее не вижу.
Скрипты Inno Setup. Помощь и советы [часть 5]
apozlevich, и не будет работать из-за:
1. GUID, дабы компилятор не посчитал его константой, экранируется только открывающей фигурной скобкой, нужно убрать лишнюю - {{645FF040-5081-101B-9F08-00AA002F954E}}.
2. Толку от этих записей на x64-системах будет никакого, т.к. запишутся в 32-разрядный куст реестра - в контекстном меню корзины ничего не увидите. Нужна проверка разрядности системы, в зависимости от результата писать в нужные кусты.
P.S. Раз делаете мультиязычный установщик, в данном случае от флага Languages можно отказаться. В общем, я бы сделал так:
Код:
Код: Выделить всё
[Languages]
Name: ru; MessagesFile: compiler:Languages\russian.isl
Name: en; MessagesFile: compiler:default.isl
[CustomMessages]
ru.ContextMenu=Открыть CCleaner...
en.ContextMenu=Open CCleaner...
[Registry]
;32-bit
Root: HKLM; Subkey: "SOFTWARE\Classes\CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\shell\{cm:ContextMenu}"; Tasks: open; Flags: uninsdeletekey; Check: not IsWin64
Root: HKLM; Subkey: "SOFTWARE\Classes\CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\shell\{cm:ContextMenu}\command"; ValueType: string; ValueData: "{app}\CCleaner.exe"; Tasks: open; Flags: uninsdeletekey; Check: not IsWin64
;64-bit
Root: HKLM64; Subkey: "SOFTWARE\Classes\CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\shell\{cm:ContextMenu}"; Tasks: open; Flags: uninsdeletekey; Check: IsWin64
Root: HKLM64; Subkey: "SOFTWARE\Classes\CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\shell\{cm:ContextMenu}\command"; ValueType: string; ValueData: "{app}\CCleaner.exe"; Tasks: open; Flags: uninsdeletekey; Check: IsWin64