|
|
|
После установки InstallShield постоянно запускается Инсталлер
|
|||
|---|---|---|---|
|
#18+
Проект на VFP9 Собран проект инсталляции на базе InstallShield Express Visual Foxpro Limited Edition Version 5.0 В проект инсталляции добаляется MSCOMCTL.DLL версии 6.0.88.12 (StatusBar, TreeView и т.п.) 1. Запускаю инсталляцию. Приложение нормально ставится. 2. Запускаю приложение. 3. Открываю форму. При открытии формы запускается Windows Installer,который что-то доустанавливает, потом форма открывается нормально. 4. Сразу открываю вторую форму - нормально. 5. Закрываю все формы 6. Открываю форму - см.п.3 При открытии всех форм на форму добавляется объект StatusBar методом AddObject. В этот момент похоже и запускается Installer. Пока хоть одна форма висит, информация об StatusBar остается в памяти, поэтому повторного считывания Installer'ом не происходит. Вопрос. Как победить данную проблему? Что в проекте инсталляции сделать, чтобы проблем не возникало? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 17:24:45 |
|
||
|
После установки InstallShield постоянно запускается Инсталлер
|
|||
|---|---|---|---|
|
#18+
define class cjProgrBar as container && прогрессбар visible=.t. procedure init lparameters tnLeft,tnTop,tnWidth,tnHeight && левая позиция, верхняя позиция, ширина, высота with this .borderwidth=0 .left=tnLeft .top=tnTop .width=tnWidth .height=tnHeight .resize() endwith endproc procedure refresh lparameters tnValOfprog local lnValidHeightOfShape,lnValidCenterDyspPos tnValOfprog=iif(vartype(tnValOfprog)#'N',0,iif(tnValOfprog>100,100,tnValOfprog)) this.oBody.value=tnValOfprog lnValidHeightOfShape=this.oBody.width-1 lnValidCenterDyspPos=lnValidHeightOfShape/2-this.display1.width/2 this.display1.left=iif(tnValOfprog=0,26,this.display1.left) this.display1.caption=transform(tnValOfprog,'999.9 %') this.display2.caption=this.display1.caption this.oProgress.width=iif(ceil(lnValidHeightOfShape*tnValOfprog/100)-3<0,0,ceil(lnValidHeightOfShape*tnValOfprog/100)-3) this.display1.left=iif(this.display1.left>=lnValidCenterDyspPos,; lnValidCenterDyspPos,; iif(this.oProgress.left+this.oProgress.width<lnValidCenterDyspPos,this.oProgress.left+this.oProgress.width,lnValidCenterDyspPos)) this.display2.left=this.display1.left this.display2.width=iif(this.oProgress.left+this.oProgress.width>this.display1.left,; this.oProgress.width+this.oProgress.left-this.display1.left,; 0) procedure resize with this .oBody.disabledforecolor=this.oBody.disabledbackcolor .oBody.left=2 .oBody.top=2 .oBody.width=iif(this.width-4>0,this.width-4,this.width) .oBody.height=iif(this.height-4>0,this.height-4,this.height) .oProgress.zorder(0) .oProgress.top=.oBody.top+2 .oProgress.left=.oBody.left+2 .oProgress.height=.oBody.height-4 .oProgress.backcolor=this.oBody.selectedbackcolor &&rgb(0,0,255) .display1.top=this.oBody.height/2-this.display1.height/2 .display2.top=this.display1.top .display1.zorder(0) .display2.zorder(0) .display1.forecolor=this.oBody.forecolor &&rgb(0,0,0) && .display2.forecolor=this.oBody.selectedforecolor &&rgb(255,255,255) && .refresh(this.oBody.value) endwith endproc add object oProgress as shape with ; borderstyle=0 ,; width=0 ,; visible=.t. ,; name= 'oProgress' add object display1 as label with ; fontname='Tahoma',; fontsize=8,; caption='' ,; visible=.t. ,; backstyle=0 ,; fontbold=.t. ,; width=50 ,; height=11,; name = 'display1' add object display2 as label with ; fontname='Tahoma',; fontsize=8,; caption='' ,; visible=.t. ,; backstyle=0 ,; fontbold=.t. ,; width=60 ,; height=11,; name = 'display2' add object oBody as textbox with ; visible=.t. ,; specialeffect=0 ,; themes=.f. ,; enabled=.f. ,; visible=.t. ,; name = 'oBody' enddefine ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 17:43:21 |
|
||
|
После установки InstallShield постоянно запускается Инсталлер
|
|||
|---|---|---|---|
|
#18+
изв, что то в глазках двоится так же статусбар сделай ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 17:49:19 |
|
||
|
После установки InstallShield постоянно запускается Инсталлер
|
|||
|---|---|---|---|
|
#18+
Hi dgalkov! > Проект на VFP9 > Собран проект инсталляции на базе InstallShield Express Visual Foxpro > Limited Edition Version 5.0 > В проект инсталляции добаляется MSCOMCTL.DLL версии 6.0.88.12 Вообще-то надо бы не dll добавлять а соответствующий Merge Module - там прописано что и куда устанавливать... Кроме того имеет смысл снять так называемый "Advertising" (извини, точно названия не помню, и не знаю где он в IS находится, я Wise-ом пользуюсь). Это конечно крутая штука (типа при "поломках" или "удалениях" файлов она их восстанавливает из инсталляции) - но жутко кривая :( Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 02:06:05 |
|
||
|
После установки InstallShield постоянно запускается Инсталлер
|
|||
|---|---|---|---|
|
#18+
Hi dgalkov! >> Проект на VFP9 >> Собран проект инсталляции на базе InstallShield Express Visual Foxpro >> Limited Edition Version 5.0 >> В проект инсталляции добаляется MSCOMCTL.DLL версии 6.0.88.12 >Вообще-то надо бы не dll добавлять а соответствующий Merge Module - там >прописано что и куда устанавливать... В проект добавлен именно соответствующий Merge Module. >Кроме того имеет смысл снять так называемый "Advertising" (извини, точно >названия не помню, и не знаю где он в IS находится, я Wise-ом пользуюсь). >Это конечно крутая штука (типа при "поломках" или "удалениях" файлов она >их восстанавливает из инсталляции) - но жутко кривая :( Я нашел эту настройку. В Features. Advertised - Не помогло. Там еще есть Remote Installation Попробовал все возможные сочетания - не помогло. Я потом на чистой машине попробовал. Похоже OCX настройки не прописываются в реестр, поэтому он в msi файл лезет. И на чистой машине AxtiveX в виде StatusBar не появилось. Есть конечно путь поменять инсталлятор, но хотелось бы решить проблему, так как должна решаться. Если проблема не решится, придется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 07:34:07 |
|
||
|
После установки InstallShield постоянно запускается Инсталлер
|
|||
|---|---|---|---|
|
#18+
Hi dgalkov! проверьте почту самое интересное, что проблему, то Вы решите, на фокса неправильно живет с активиксами это не бейсик, который под них заточен у фокс окно не окно и активикс не пойми как там живет меня дерево достало так, что есть уже желание переписать сил нет активикс живет как ему нравится в Вашем случае я советую статусбар свой написать и красивее и надежнее работать будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 12:34:10 |
|
||
|
После установки InstallShield постоянно запускается Инсталлер
|
|||
|---|---|---|---|
|
#18+
Да вопрос по теме. Всех устраивает как дерево живет (блымкает, прорисовывается где ни поподя) в дебужере не отладишь (ноду может в сет степе не добавлять) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 12:55:51 |
|
||
|
После установки InstallShield постоянно запускается Инсталлер
|
|||
|---|---|---|---|
|
#18+
alex11100Hi dgalkov! проверьте почту самое интересное, что проблему, то Вы решите, на фокса неправильно живет с активиксами это не бейсик, который под них заточен у фокс окно не окно и активикс не пойми как там живет меня дерево достало так, что есть уже желание переписать сил нет активикс живет как ему нравится в Вашем случае я советую статусбар свой написать и красивее и надежнее работать будет Может Fox и неправильно живет с AсtiveX, и окно у него не такое, только я чегой-то этого не замечаю этой его неправильности. И StatusBar у меня не жалуется. Ни на меня, ни на неправильное окошко. Только в данном случае InstallShield 5.0 не делает того, чего ему положено. Таких проблем на предыдущем InstallShield Express не было. Проблема не в моей форме, ни в StatusBar, а том что он при инсталляции не регистирируется нормально. Т.е. я в Инсталляции не так что-то сделал (ну или IS кривой, что надеюсь маловероятно:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 13:07:31 |
|
||
|
После установки InstallShield постоянно запускается Инсталлер
|
|||
|---|---|---|---|
|
#18+
я советую Вам написать свой объект и потренируетесь и проблем избежите будет время - заметите еще проблемы с активиксами ими нужно пользоваться уж когда ничего и нет другого к примеру драйвера весов касс и т.д., а в Вашем случае потренируйтесь и напишите свой объект-контейнер ничего сложного нет несколько текстбоксов и бмп будет надежней и во сто раз красивей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 13:18:33 |
|
||
|
После установки InstallShield постоянно запускается Инсталлер
|
|||
|---|---|---|---|
|
#18+
dgalkovПроект на VFP9 Собран проект инсталляции на базе InstallShield Express Visual Foxpro Limited Edition Version 5.0 ... Вопрос. Как победить данную проблему? Что в проекте инсталляции сделать, чтобы проблем не возникало? Корень проблемы был в лицензии на MSCOMCTL.OCX Merge Module ставил OCX, регистрировал ее в реестре. Но лицензию в реестр не прописывал. Получалось, что при исполнении при добавлении ActiveX на форму, происходила ошибка: Класс не зарегестрирован. Проблема решилась ручной регистрацией объекта. В инсталляции добавил запись в реестр ключика лицензии. Проблема решилась, но остался вопрос, почему в Merge Module отсутствовала регистрации лицензии. Так и надо? Но зачем тогда Merge Module? Он же предназначен для распространения приложения. Значит MSCOMCTL.OCX предлагается распространять разработчику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2005, 06:20:48 |
|
||
|
После установки InstallShield постоянно запускается Инсталлер
|
|||
|---|---|---|---|
|
#18+
alex11100Всех устраивает как дерево живет (блымкает, прорисовывается где ни поподя)в дебужере не отладишь (ноду может в сет степе не добавлять) Меня очень даже устраивает. И в дебаг именно из-за него не залезаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2005, 06:36:22 |
|
||
|
После установки InstallShield постоянно запускается Инсталлер
|
|||
|---|---|---|---|
|
#18+
dgalkovКорень проблемы был в лицензии на MSCOMCTL.OCX Merge Module ставил OCX, регистрировал ее в реестре. Но лицензию в реестр не прописывал. Получалось, что при исполнении при добавлении ActiveX на форму, происходила ошибка: Класс не зарегестрирован. Проблема решилась ручной регистрацией объекта. В инсталляции добавил запись в реестр ключика лицензии. ... Покажи место, где ты это указал??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2005, 06:48:24 |
|
||
|
После установки InstallShield постоянно запускается Инсталлер
|
|||
|---|---|---|---|
|
#18+
Владимир СА dgalkovКорень проблемы был в лицензии на MSCOMCTL.OCX Merge Module ставил OCX, регистрировал ее в реестре. Но лицензию в реестр не прописывал. Получалось, что при исполнении при добавлении ActiveX на форму, происходила ошибка: Класс не зарегестрирован. Проблема решилась ручной регистрацией объекта. В инсталляции добавил запись в реестр ключика лицензии. ... Покажи место, где ты это указал??? В инсталляции добавляю запись в реестр [HKEY_CLASSES_ROOT\Licenses\ED4B87C4-9F76-11d1-8BF7-0000F8754DA1] @="knlggnmntgggrninthpgmnngrhqhnnjnslsh" Она ответственна за лицензирование MSCOMCTL.OCX. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2005, 13:01:38 |
|
||
|
После установки InstallShield постоянно запускается Инсталлер
|
|||
|---|---|---|---|
|
#18+
dgalkovВ инсталляции добавляю запись в реестр [HKEY_CLASSES_ROOT\Licenses\ED4B87C4-9F76-11d1-8BF7-0000F8754DA1] @="knlggnmntgggrninthpgmnngrhqhnnjnslsh" Она ответственна за лицензирование MSCOMCTL.OCX. Спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2005, 13:39:47 |
|
||
|
После установки InstallShield постоянно запускается Инсталлер
|
|||
|---|---|---|---|
|
#18+
dgalkovПроблема решилась, но остался вопрос, почему в Merge Module отсутствовала регистрации лицензии. Так и надо? Но зачем тогда Merge Module? Он же предназначен для распространения приложения. Значит MSCOMCTL.OCX предлагается распространять разработчику. Да. Так и надо. Это лицензионная политика Microsoft. Можно использовать результат работы продукта, но нельзя использовать сам продукт без лицензии. Применительно к ActiveX, если бы ты создал собственную библиотеку классов (файл VCX) в которую включил бы нужный ActiveX, то такое использование не потребовало бы наличие лицензии. А вот если ты напрямую пытаешся обратиться к ActiveX минуя библиотеку классов VCX, то это требует отдельной лицензии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2005, 13:50:12 |
|
||
|
После установки InstallShield постоянно запускается Инсталлер
|
|||
|---|---|---|---|
|
#18+
ВладимирМ dgalkovПроблема решилась, но остался вопрос, почему в Merge Module отсутствовала регистрации лицензии. Так и надо? Но зачем тогда Merge Module? Он же предназначен для распространения приложения. Значит MSCOMCTL.OCX предлагается распространять разработчику. Да. Так и надо. Это лицензионная политика Microsoft. Можно использовать результат работы продукта, но нельзя использовать сам продукт без лицензии. ... А вот если ты напрямую пытаешся обратиться к ActiveX минуя библиотеку классов VCX, то это требует отдельной лицензии. Я бы не против в классе VCX нужный ActiveX прописывать, только там возникают проблемы с версиями ActiveX. Поэтому пришлось перейти на технологию AddObject во время исполнения. Просто раньше как-то вопрос с лицензированием сам-собой рассасывался без моего участия, а тут, блин,вылез:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2005, 06:33:35 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33313861&tid=1593307]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
67ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 387ms |

| 0 / 0 |
