2012-04-10 3 views
0

Я создал два приложения MFC, которые компилируются и запускаются нормально из среды IDE. Однако скажем, что второе приложение не было создано с помощью мастера приложений, вместо этого я скопировал первую папку приложения, а затем начал переименовывать исходные файлы и соответствующую информацию, такую ​​как строковая таблица, версия и т. Д., Так что второе приложение было другим и уникальным. к заявке №1. Оба приложения - это тип SDI, и проблема, с которой я столкнулась, заключается в том, что при запуске установки для установки второго приложения установка прерывается, потому что она обнаруживает первую, которая уже установлена ​​(я думаю, это ключ реестра Windows).Развертывание приложений MFC с VS2010

Я пошел app.h, app.cpp, appdoc.h, appdoc.cpp, файлы и проверяются строки кода, как:

SetAppID (_T ("SVGovCfg.AppID.NoVersion")); чтобы не было дублирования между обоими приложениями. Однако похоже, что чего-то не хватает.

Любая помощь очень приветствуется.

ответ

0

Убедитесь, что ваше приложение вызывает SetRegistryKey() в OnInitInstance(). Этот ключ должен отличаться между приложениями. Возможно, это не вызвано в вашем приложении, а какое-то значение по умолчанию получено от чего-то - посмотрите исходный код MFC, чтобы посмотреть, как это обрабатывается.

0

Поиск файлов для дубликата UUID со следующим регулярным выражением:

[0-9a-fA-F]^8-[0-9a-fA-F]^4-[0-9a-fA-F]^4-[0-9a-fA-F]^4-[0-9a-fA-F]^12 
0

Это, кажется, не имеет ничего общего с самими приложениями. Когда вы установите приложение, это setup программа, которая определяет идентификатор установки. Вам нужно изменить программу установки, чтобы различать два.

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