2011-01-25 3 views
2

Я включил в свой установочный пакет некоторые файлы резервных копий из своей базы данных, поэтому я могу восстановить их и иметь полную рабочую базу данных за один простой шаг, и все в порядке, но я 'd хотел бы удалить файлы резервной копии базы данных в качестве шага в процессе установки сразу после его восстановления.Как удалить файлы во время установки с помощью installshield 2010

Кто-нибудь знает как?

ответ

2

Вы можете добавить некоторый InstallScript для выполнения задания в качестве настраиваемого действия. Существует функция DeleteFile, которая делает это.

Посмотрите на ссылку на пример внизу.

+0

Спасибо! Это то, что я искал, но у меня есть следующий вопрос после включения сценария в проект и добавления пользовательского действия для его запуска. Я продолжаю получать сообщение об ошибке «Ошибка компиляции setup.rul. быть включенным в проект ... »: S Если я удалю пользовательское действие, эта ошибка исчезнет ... Любая идея? – gabonio

+0

Обнаружено это в их справочной информации ... надеюсь, что это поможет: Чтобы устранить эту ошибку, необходимо вставить файл под названием Setup.rul в проект. Для этого выполните следующие действия: 1. Выберите представление InstallScript. 2. Щелкните правой кнопкой мыши папку Files и выберите New Script File, чтобы вставить новый файл InstallScript. 3. Если этого еще нет, переименуйте один из файлов сценария в Setup.rul, щелкнув правой кнопкой мыши файл и выбрав «Переименовать». 4. Перестроить проект. – Booberry

1

В качестве дополнения к ответу Бьюберри я предлагаю вам сделать это deferred custom action, потому что вы вносите фактические изменения в систему. Как только вы это сделаете, вы не сможете получить доступ к своим свойствам, поэтому вам придется пройти путь к файлу через Custom Action Data.

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

Надеюсь, это поможет.

0

функция DeleteFile не будет удалять «Read-Only, скрытые и системные файлы» .Вы должны удалить атрибут только для чтения, то используйте функцию удаления файла ..

Если вы работаете в этом качестве пользовательских действий, затем выберите отложенное выполнение в режиме системного контекста.

Смежные вопросы