Файл, который используют две и более программы

307cwam

Новичок
Здравствуйте все!
----------------------
Есть файл библиотека,
она входит в две разные программы.
То есть файл библиотека один, а использует его две программы.
То есть совместно используемый.

Если удалить одну из программ,
то файл библиотека тоже удаляется.
И программа вторая уже без него не работает,выдает ошибки.

-------------------------------------------------------------------------------
Подскажите как сделать так,
Чтобы при удалении программы файл библиотека
оставался бы на компьютере, если его использует другая программа,
не в момент удаления, а вообще.

А также,
Чтобы файл библиотека удалялся, если его использует Только программа,
которая в данный момент удаляется.
 

307cwam

Новичок
В справке написано:
---------------------
sharedfile
Сведения об общих файлах (находятся в реестре в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs). Флаг разрешает общее использование файла несколькими приложениями без боязни, что они нечаянно удалятся. Каждый раз, когда файл устанавливается, для файла увеличивается связывающий счетчик. Когда приложение, использующее файл, удаляется, счетчик уменьшается. Если счетчик достигнет нулевого значения, файл удалится (с разрешения пользователя). Многие файлы, установленные в директорию Windows System, должны использовать этот флаг - это относится и к файлам .OCX, .BPL, и .DPL (Delphi 3 package).

uninsnosharedfileprompt
При удалении программы общий (shared) файл удаляется автоматически, если связывающий счетчик достиг нуля. При этом вопроса об удалении файла пользователю не задается. Для работы должен быть комбинирован с флагом sharedfile.
uninsneveruninstall

Никогда не удалять данный файл. Его можно использовать при установке файла, предназначенного для общего использования, как, например, MFC DLL, потому что в этом случае деинсталлятор не должен его удалять до тех пор, пока его используют другие приложения.

------------------------
Я пишу так:
[Files]
Source: "AniGIF.ocx"; DestDir: "{sys}"; Flags: sharedfile uninsnosharedfileprompt regserver

Но в реестр HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs
строка/параметр не устанавливается ни приустановке программы , ни при удалении.

Или в этой ветке реестра надо сначала прописать параметр руками и установить значение 0.

Пробывал что-то тоже не выходит.

Нет никаких реакций на эти флаги - sharedfile uninsnosharedfileprompt

Я ни как не пойму
Как они должны использоваться? Объясните.
 
Сверху