AVanti473 Цитата: триальный ключик прекрасно создавался с необходимым значением, хотя необходимая ветка имела значение deleted...
Сейчас тоже попробовал и таки да, ключ из реального реестра при значении deleted сборка не видит, но сама его создать у себя в виртуале может.
Получается, что разница между full и deleted в следующем:
1) при изоляции full системный ключ будет не виден для сборки, но ключ с таким именем всё равно будет присутствовать в виртуале сборки (либо пустой, либо с другими параметрами - смотря как пропишите его в ini-шнике);
2) при параметре ключа deleted системный ключ также будет не виден для сборки, но ключа с таким именем изначально уже не будет в виртуале сборки, хотя он может быть создан впоследствие самой сборкой, если она того пожелает.
Иногда, по каким-либо причинам, вариант 2 может оказаться необходим.
Также параметр deleted можно использовать для скрытия файлов реальной системы.
Основной механизм изоляции файловой системы в ThinApp оперирует сразу целыми папками, а что делать если нужен другой (более жёсткий) режим изоляции только для некоторых файлов в папке реальной системы, а всё остальное содержимое чтоб оставалось доступным для чтения или даже записи?
Вот тут и поможет параметр deleted применительно к конкретным файлам. Фактически, как я понял, он позволяет применить аналог изоляции full к выбранным файлам в папке реальной системы, изоляция которой в проекте задана как WriteCopy или Merged.
При этом поведение сборки аналогично как и для ключей реестра, а именно:
- файл реальной системы, помеченный как deleted, сборка не видит, но создать сама файл с таким же именем может и есть два варианта событий: 1) если изоляция всей папки WriteCopy, то файл создаётся в виртуале и сборка его видит; 2) если изоляция всей папки Merged, то файл создаётся в реальной папке системы, но сборка его, по-прежнему, не видит (вот такой парадокс).
Резюмируя всё вышеизложенное, параметр deleted помогает скрыть от сборки существующие в реале файлы и ключи, но не спасает от их создания в реале или виртуале самой сборкой.
Испытывал всё вышеизложенное на версии 4.7.3 в Win7x64 - возможно, в более новых или старых будут свои нюансы (или глюки).