Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибки при инсталляции проекта через InstallShield 
:(
    Опции темы
belkeandrey
Дата 1.5.2013, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 21.2.2013

Репутация: нет
Всего: нет



Добрый день! Создал проект в InstallShield и при пробной установке выскакивают 2 ошибки, в тексте которых есть sql запрос. Они вылетают также при удалении программы. При этом установленная программа работает корректно. Ниже прикреплены скрины ошибок. 

Еще при запуске программы с рабочего стола, т.е. ярлыком, пишет что не находит БД mdb (она в корне проги), хотя из каталога все работает. Что можно предпринять?

Прошу помочь. Заранее спасибо!

user posted image
user posted image
PM MAIL WWW   Вверх
kami
Дата 1.5.2013, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 23
Всего: 72



Цитата(belkeandrey @  1.5.2013,  14:40 Найти цитируемый пост)
пишет что не находит БД mdb (она в корне проги), хотя из каталога все работает.

потому что нужно правильно путь задавать к mdb, а не надеяться, что текущей папкой всегда будет папка со своим экзешником.
PM MAIL WWW   Вверх
belkeandrey
Дата 1.5.2013, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 21.2.2013

Репутация: нет
Всего: нет



Цитата(kami @ 1.5.2013,  19:15)
Цитата(belkeandrey @  1.5.2013,  14:40 Найти цитируемый пост)
пишет что не находит БД mdb (она в корне проги), хотя из каталога все работает.

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

а как правильно? я же не знаю куда ее установит пользователь...
PM MAIL WWW   Вверх
kami
Дата 2.5.2013, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 23
Всего: 72



Цитата(belkeandrey @  1.5.2013,  21:03 Найти цитируемый пост)
а как правильно? 

ну, если файл будет лежать рядом с экзешником, то (например) так:
Код

FullMDBFileName:=ExtractFilePath(ParamStr(0))+'myDatabase.mdb'

Вот только что вы будете делать, если пользователь установит (в Win Vista или 7) приложение в каталог по умолчанию, т.е. в Program Files? Доступ на запись туда разрешен только с админскими правами.

Поэтому правильным выходом будет писать все "рабочие" файлы (касаемые всех пользователей) в папку ProgramData (я не знаю, как она обзывается в IS). И обращаться к ним надо как-то так:
Код

uses
  SHFolder;
....
function GetMDBFileName: string;
var
  Path: PChar;
begin
  Path := AllocMem(MAX_PATH + 1);
  try
    if SHGetFolderPath(0, CSIDL_COMMON_APPDATA, 0, SHGFP_TYPE_DEFAULT, Path) = S_OK then
      Result := IncludeTrailingPathDelimiter(Path) + 'AOK\myDatabase.mdb'
    else
      Result := '';
  finally
    FreeMem(Path);
  end;
end;

PM MAIL WWW   Вверх
belkeandrey
Дата 2.5.2013, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 21.2.2013

Репутация: нет
Всего: нет



Коллеги, очень прошу помощи, хотя бы куда копать... Программу скоро сдавать, а тут непонятно что, а я еще новичок, с 0 разбирался  smile 
PM MAIL WWW   Вверх
kami
Дата 2.5.2013, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 23
Всего: 72



Ну, и в дополнение:
несколько ссылок на community.flexerasoftware.comне помогут?
PM MAIL WWW   Вверх
belkeandrey
Дата 2.5.2013, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 21.2.2013

Репутация: нет
Всего: нет



Разобрался, надо убрать все слияния smile 
По поводу пути спасибо, буду думать, но скорее всего пойду простым вариантом, т.к. работать будет 100% с правами админ.
PM MAIL WWW   Вверх
kami
Дата 2.5.2013, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 23
Всего: 72



Цитата(belkeandrey @  2.5.2013,  01:10 Найти цитируемый пост)
 но скорее всего пойду простым вариантом, т.к. работать будет 100% с правами админ.

У которого 100% будет отключен UAC? Удачи.
PM MAIL WWW   Вверх
belkeandrey
Дата 2.5.2013, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 21.2.2013

Репутация: нет
Всего: нет



Цитата(kami @  2.5.2013,  00:11 Найти цитируемый пост)
ну, если файл будет лежать рядом с экзешником, то (например) так:
код Pascal/Delphi
1:
FullMDBFileName:=ExtractFilePath(ParamStr(0))+'myDatabase.mdb'


А как это написать программно? Что-то никак не получается... Пробовал просто написать ConnectionString программно, выдает ошибку:

Код

DM.ADOConnection1.Connected:=false;
  DM.ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=data.mdb;Mode=Share Deny None;'+
  'Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password=1234;'+
  'Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;'+
  'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=1234;Jet OLEDB:Create System Database=False;'+
  'Jet OLEDB:Encrypt Database=False;Jet OLEDB:Do not Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
  DM.ADOConnection1.Connected:=true;


PM MAIL WWW   Вверх
belkeandrey
Дата 2.5.2013, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 21.2.2013

Репутация: нет
Всего: нет



Цитата(kami @  2.5.2013,  12:31 Найти цитируемый пост)
У которого 100% будет отключен UAC? Удачи. 


а можно тогда поподробнее, как лучше сделать?

PM MAIL WWW   Вверх
belkeandrey
Дата 2.5.2013, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 21.2.2013

Репутация: нет
Всего: нет



Разобрался с подключением полного пути, протестил на ХР и 7ке, все прекрасно работает. В чем могут быть проблемы? 
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

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

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0916 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.