Поделиться через


ICE43

ICE43 проверяет, что ярлыки, не ссылающиеся на функцию в качестве целевой (не объявленных ярлыков), находятся в компонентах с записью реестра HKCU в качестве пути к ключу.

Результат

ICE43 публикует сообщение об ошибке, если нерекоменционный ярлык находится в компоненте, который не имеет записи реестра HKCU в качестве пути к ключу.

Пример

ICE43 сообщит о следующих ошибках в примере.

Ошибка ICE43 Описание
Компонент Component1 имеет нерекомендаемые ярлыки. Он должен использовать раздел реестра в HKCU в качестве ключа KeyPath, а не файла. Столбец атрибутов компонента Component1 равен 0, то есть компонент использует файл в качестве keyPath. Это приводит к тому, что нерекомендаемые ярлыки в этом компоненте будут установлены для первого пользователя только на компьютере. Пользователи, устанавливающие компонент позже, не видят ярлыки, так как компонент отображается установщиком, как уже существующий на компьютере. Чтобы устранить эту ошибку, задайте бит RegistryKeyPath атрибутов, чтобы переключить компонент на запись реестра, а затем измените значение KeyPath на допустимую запись в таблице реестра.
Компонент Component2 имеет нерекомендаемые ярлыки. Он должен использовать раздел реестра в HKCU в качестве keyPath. KeyPath в настоящее время имеет значение NULL. Для столбца "Атрибуты" задано использование реестра, но KeyPath имеет значение NULL. KeyPath должен ссылаться на запись в таблице реестра. Чтобы устранить эту ошибку, измените значение KeyPath на допустимую запись в таблице реестра.
Компонент 3 содержит нерекомендаемые ярлыки. Его раздел реестра KeyPath должен соответствовать HKCU. Столбец "Атрибуты" использует реестр, но указанная запись реестра не находится под HKCU. Чтобы устранить эту ошибку, перейдите в другую запись реестра в качестве keyPath для этого компонента или измените корневое значение записи реестра на -1 или 1.
Запись реестра KeyPath для компонента Component4 не существует. Запись реестра, указанная в столбце KeyPath компонента, не находится в таблице реестра. Чтобы устранить эту ошибку, создайте запись.
Запись реестра reg5 задана как KeyPath для компонента Component5, но эта запись реестра не принадлежит компоненту Component5. В столбце KeyPath компонента, который находится под деревом HKCU, есть запись реестра, но столбец Component_ реестра не ссылается на тот же компонент, который перечислил его как KeyPath. Это означает, что запись реестра, используемая в качестве keyPath компонента, создается только в том случае, если был установлен какой-то другой компонент. Чтобы устранить эту ошибку, измените значение KeyPath, чтобы ссылаться на запись реестра, принадлежащую компоненту, или измените запись реестра, чтобы она принадлежала компоненту, используя его в качестве keyPath.

 

таблица компонентов (частичная)

Компонент Атрибуты KeyPath
Компонент1 0 Файл1
Компонент2 4  
Компонент3 4 Reg3
Компонент4 4 Reg4
Компонент5 4 Reg5

 

таблица реестра (частично)

Регистратура Корень Ценность Компонент_
Reg3 2 Компонент3
Reg5 0 Компонент4

 

Справочник по ice