2009-03-04 1 views
0

У меня есть проект Visual Basic 6.0 SP5 EXE, результатом которого является .EXE-файл. Этот проект ссылается на некоторые пользовательские DLL (также созданные с VB6-проектами).
Этот EXE и DLL запускаются на другой машине.Проект EXE-проекта VB6 не запускается

Теперь я внесла некоторые изменения в исходный код EXE. Эти изменения отлично работают в среде VB6 IDE. Затем я создаю EXE-файл, запустив Make. Сгенерированный EXE-файл работает на моем компьютере. Затем, копируя этот EXE-файл на другой компьютер, перезаписывая исходный файл, а затем запуская его, ничего не происходит. EXE даже не запускается, насколько я могу судить, и я не вижу задачи, появляющейся в диспетчере задач.

Не уверен, что здесь происходит. Кто-нибудь видел это поведение и имеет представление о том, что здесь происходит?

ответ

2

Вы изменили настройки DLL, ссылки на которые у вас есть? Попробуйте также копировать файлы из библиотеки DLL.

0

Возможно, вам необходимо запустить REGSVR32, чтобы зарегистрировать COM-объекты в этих DLL или EXE. (VS IDE делает это для вас автоматически)

1

Стоит гарантировать, что пользовательские библиотеки DLL идентичны на двух машинах и что они зарегистрированы с regsvr32. Хотя, если они не были, вы должны получить сообщение об ошибке, или в вашей программе будет возникать ошибка, а не то, что вы описываете.

Проверьте код в процедуре запуска - Sub Main() или событие Form_Load() вашей основной формы в зависимости от настроек вашего проекта. Убедитесь, что он не покидает программу, если возникает ошибка.

Проверяйте любые сообщения о просмотре событий (на основе this answer от Valentin Galea, которые помогли диагностировать приложение VB6, связанное с поврежденным файлом базы данных).

Добавить протоколирование сообщений в процедуру запуска. Может быть полезным собственный метод VB6 App.LogEvent. Убедитесь, что первая строка в программе - это оператор регистрации, поэтому вы можете проверить, начинается ли она вообще. Если у вас есть обработчик ошибок в процедуре запуска, убедитесь, что он регистрирует данные об ошибках, прежде чем он сделает что-нибудь еще.

1

Я определенно буду следовать совету о поиске причины в средстве просмотра событий. Но я думаю, что вам также нужен правильный метод развертывания.

Сначала я установил бы service pack 6 for VB6, чтобы вы были на последнем месте. Тогда я сделал бы правильный установщик msi.

Для этого вам понадобится:

Visual studio installer 1.1 from MS.

Merge modules for VB6 SP6.

Модули слияния должны быть извлечены через существующие модули слияния, которые поставляются с Visual Studio установщиком и находятся в C:\Program Files\Microsoft Visual Studio\COMMON\Tools\VSInst\BuildRes Затем я хотел бы создать программу установки MSI и использовать его для развертывания приложения. Он зарегистрирует DLL для вас и убедитесь, что зависимости установлены.

Для создания установки:

1) Open visual studio installer 
2) Pick the VB Installer package type in the wizard 
3) Change the name to the name of your project 
4) Change the location to where you want the installer package to be created (I typically create a folder under the project called Install) 
5) Choose create Installer, not merge module (unless you want to package up dependencies for a subproject) 
6) Pick the existing VB project to deploy 
7) Under Files on right add any other files that aren't straight dependencies (documentation or other related files) 
8) Under Build Menu -> Build Configuration change it to release. 
9) Click File System, then Application Folder, change the default install folder to be <company name>\<app Name> 
10) Right click and Delete unneeded/bad dependencies. For example MDAC.msm doesn't normally need to be deployed by the app. 
11) Change ActiveX dlls to be self register in properties. 
12) Under File System, User's Start Menu - Add folder hierarchy User's Start Menu -> Programs -> <company name> -> <app name> 
13) Drag system created shortcut to app from User's Start Menu to the App Name folder. Rename as appropriate. 
14) Add shortcut to user's desktop folder if desired 
15) Add any other file shortcuts (say to documentation) in the App Name folder or user's desktop 
16) Under User Interface, click all the leaf nodes (like the welcome screen) and change the banner bitmap if you have one. 
17) Configure Project Properties as appropriate (I fill in support information and update version number) 

Build -> Build 

THe msi file will be created in a subfolder of the install folder. 
Whenever you make a new exe you just open the existing visual studio installer project and choose build->build. It will create a new msi for you. 

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

  • Нет связанных вопросов^_^