Есть проблема с MSI/WiX. Есть программа, структура ее каталогов следующая:
".\Program Files\PROG\" — каталог программы, создается инсталлятором
".\Program Files\PROG\DATA\" — каталог с данными, создается только программой, должен удаляться инсталлятором при удалении программы
(*** Я в курсе, что для данных существует APPDATA, что не хорошо писать данные в подкаталоги "Program Files", но это программа для системных администраторов).
Проблема в следующем. Написал xml для WiX, который удаляет orphaned files в каталоге DATA и удаляет сам этот каталог. Но, похоже, удаление этих файлов и каталога DATA происходит по времени уже ПОСЛЕ того, как сам инсталлятор (msi) пытался удалить каталог программы. Как итог этого: каталог самой программы инсталлятор, конечно, удалить не смог, так как в нем еще был подкаталог DATA. Подкаталог DATA позже удалился моими стараниями. Но удалять каталог программы больше никто не пытается. Как поменять (и нужно ли) порядок удаления? Чтобы orphaned files удалялись ДО того момента, как инсталлятор начинает удалять проинсталлированные им файлы и каталоги.
Здравствуйте, amihal, Вы писали:
A>Проблема в следующем. Написал xml для WiX, который удаляет orphaned files в каталоге DATA и удаляет сам этот каталог. Но, похоже, удаление этих файлов и каталога DATA происходит по времени уже ПОСЛЕ того, как сам инсталлятор (msi) пытался удалить каталог программы. Как итог этого: каталог самой программы инсталлятор, конечно, удалить не смог, так как в нем еще был подкаталог DATA. Подкаталог DATA позже удалился моими стараниями. Но удалять каталог программы больше никто не пытается. Как поменять (и нужно ли) порядок удаления? Чтобы orphaned files удалялись ДО того момента, как инсталлятор начинает удалять проинсталлированные им файлы и каталоги.
Так работать-то может и будет, но это совершенно неправильно так делать. Т.е. это из разряда "под..чудить". Не нужно выполнять работу за MSI-installer там, где он ее должен выполнять самостоятельно. Ведь с тем же успехом можно было бы самому удалять и все установленные файлы, каталоги, ключи реестра, и скатились бы мы в итоге к системе bat-ничков. Нужно как-то это сделать правильно, в рамках MSI.
Такое же решение, может и будет работать (даже уверен в этом), но это неправильно.
Re[3]: WiX: При uninstall не удаляет каталог прог. из-за orp
A>> Такое же решение, может и будет работать (даже уверен в этом), но это неправильно. bnk> А загонять DATA в Program Files значит правильно? bnk> Так что или шашечки или ехать
Аргумент в некотором смысле по делу, конечно. Но as is. Хотелось бы решить как-то изящнее (читай — правильно).
Re[5]: WiX: При uninstall не удаляет каталог прог. из-за orp
Здравствуйте, amihal, Вы писали:
A>Аргумент в некотором смысле по делу, конечно. Но as is. Хотелось бы решить как-то изящнее (читай — правильно).
Ну а чего, лично я бы так и сделал наверное.
Все вроде в рамках Windows Installer, должно валидироваться. RemoveFolder — просто строчка в таблице, тоже вроде не криминал..
Re[6]: WiX: При uninstall не удаляет каталог прог. из-за orp
Здравствуйте!
A>> Аргумент в некотором смысле по делу, конечно. Но as is. Хотелось бы решить как-то изящнее (читай — правильно). bnk> Ну а чего, лично я бы так и сделал наверное. bnk> Все вроде в рамках Windows Installer, должно валидироваться. RemoveFolder — просто строчка в таблице, тоже вроде не криминал..