Cryzer Первый вопрос (насколько понял):
if (RegQueryStringValue(HKCU, 'Software\Classes\AudioCD\DefaultIcon', '', String)) and
(Pos(UpperCase('bsplayer.exe,0'), UpperCase(String)) > 0) then
Добавлено: Второй вопрос:
[more=Подробнее...]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
String: String;
begin
if CurUninstallStep = usUninstall then
if (RegQueryStringValue(HKCU, 'Software\Classes\.3gp', '', String)) and (UpperCase(String) = UpperCase('BSPlayerFile.3gp')) then
begin
RegDeleteValue(HKCU, 'Software\Classes\.3gp', '')
RegDeleteKeyIfEmpty(HKCU, 'Software\Classes\.3gp')
end
end;
[/more]
Вместо usUninstall можете использовать также: usAppMutexCheck, usPostUninstall, usDone - хотя бы ради интереса/эксперимента/повышения уровня знаний стоит попробовать.
Добавлено: P.S.: не забывайте про операторные скобки begin ... end, а также указывайте CurStep, на которой идёт проверка условия, в противном случае, подобная проверка будет выполняться на каждой новой странице.