Могу ли я установить Delphi и свои библиотеки на USB-ключ таким образом, чтобы разрешить отладку моего приложения на клиентском ПК?

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

Сегодня с Delphi XE2,3,4 у вас есть paserver, который, по крайней мере, на данный момент, может быть глючным и медленным. Это важно для разработки iOS (кроссплатформенной), но здесь, в Applied Relay Testing, нам часто приходится отлаживать встроенные ПК, на которых установлена ​​последняя версия Windows. Для этого мы использовали ряд стратегий, но самая трудная ситуация — это посетить сайт клиента и пожелать, чтобы кто-то мог «закинуть» Delphi IDE + библиотеки и засучить рукава, чтобы пройти и установить точки останова в исходном коде. .

Весьма вероятно — будем надеяться — что рабочий процесс удаленной отладки paserver и его воплощения будут улучшаться со временем, но сейчас мне интересно, как можно было бы установить Delphi + библиотеки + наш исходный код на USB-ключ, чтобы с помощью только минимальная, возможно, автоматическая настройка, можно подключить этот ключ к ПК и довольно быстро компилировать, запускать и отлаживать.

Я вижу, что реестр является одной из возможных проблем, однако я помню, что Embarcadero однажды говорили о возможности запускать свои приложения с USB-накопителя. Зная, как сложно установить мои 20 с лишним библиотек в Delphi, это не тривиально и требует обдумывания.

Кто-нибудь делал что-то подобное или есть идеи, как это можно сделать?


person Brian Frost    schedule 09.05.2013    source источник
comment
Для целей Win32 вы все еще можете использовать удаленный отладчик старого стиля.   -  person Uwe Raabe    schedule 09.05.2013
comment
Еще одна мысль: возможно, здесь может помочь Delphi через AppWave. Вы можете попробовать мгновенную пробную версию RAD Studio XE4: docwiki.embarcadero.com/RADStudio/XE4 /ru/   -  person Uwe Raabe    schedule 09.05.2013
comment
@Uwe Интересно, посмотрю, спасибо.   -  person Brian Frost    schedule 09.05.2013


Ответы (2)


Delphi не поддерживает то, что вы просите. Но что вы можете сделать, так это создать виртуальную машину с установленной в ней вашей ОС, IDE, библиотеками и т. д., затем скопировать виртуальную машину на USB-накопитель, установить программное обеспечение виртуальной машины в системе клиента и запустить вашу виртуальную машину как есть. Существует множество систем VM на выбор.

person Remy Lebeau    schedule 09.05.2013
comment
Это не поможет, если вашей целью является отладка на клиентской машине. - person David Heffernan; 09.05.2013
comment
Не могли бы вы быть немного более конкретным, почему нет? - person Brian Frost; 09.05.2013
comment
Поскольку приложение не запускается под клиентской ОС, если только вы не запускаете Delphi под этой ОС или не используете удаленную отладку. - person Uwe Raabe; 09.05.2013
comment
Вы просто отлаживаете виртуальную машину. С таким же успехом вы можете сидеть в офисе клиента со своим ноутбуком и заниматься отладкой таким образом. Это было бы так же неэффективно! Вы хотите отладить процесс, работающий на клиентской машине. Либо запускайте Delphi на целевой машине, либо выполняйте удаленную отладку. Запуск Delphi на виртуальной машине вообще не помогает. - person David Heffernan; 09.05.2013
comment
Единственное отличие состоит в том, что подключиться к клиентской сети и базам данных с виртуальной машины немного проще, чем с переносного ноутбука - практически и с точки зрения безопасности (для операционной системы и клиента; виртуальная машина лучше защищена, чем ноутбук) . - person Jan Doggen; 09.05.2013
comment
@ Ян Спорный. Большинство администраторов одинаково относятся к чужой машине, будь то виртуальная или физическая. - person David Heffernan; 09.05.2013
comment
@David Оглядываясь назад, мы использовали Delphi на виртуальной машине и получили доступ к оборудованию хост-машины, настроив правильную виртуализацию виртуальной машины, но для этого потребуется хост, поддерживающий хороший хостинг виртуальных машин. - person Brian Frost; 09.05.2013
comment
Вы все еще выполняете программу на другой машине. - person David Heffernan; 09.05.2013
comment
С другой стороны, возможно, клиентское приложение можно установить на виртуальную машину для отладки. Некоторые виртуальные машины поддерживают отладку виртуального процесса с помощью отладчика узла и даже отладку виртуального процесса с другой виртуальной машины, работающей на том же узле. Таким образом, есть возможности, в зависимости от того, какая виртуальная машина и какой хост используются. - person Remy Lebeau; 09.05.2013
comment
@Remy Поскольку Брайан написал приложение, я не думаю, что ему нужно посещать сайт клиента, чтобы установить приложение, которое он написал. Наиболее вероятной причиной отладки на клиентской машине является решение проблемы среды. - person David Heffernan; 09.05.2013
comment
Обычно отладка необходима только для решения проблем управления и синхронизации в реальном времени в особых случаях, которые не воспроизводятся «дома». Иногда это единственный способ отладки и подтверждения неисправного оборудования. - person Brian Frost; 11.05.2013

Во-первых, мне нужно избавиться от этого: встроенные ПК под управлением Windows?? Соб.

Хорошо, теперь предложение: если полноценная виртуальная машина не подходит для этой задачи, может подойти виртуализация на уровне приложений. Это перехватывает вызовы реестра и другую информацию на уровне приложения и сопоставляет их с локальной копией, позволяя превратить практически любое приложение в портативную версию. Хорошая новость заключается в том, что существуют бесплатные версии нескольких программ, которые могут превращать программы Windows в виртуализированные приложения.

Единственный, который я лично использовал, - это MojoPac, и он был доставлен, как и было обещано, хотя он очень медленно работал со (старой, очень медленной) флешки. http://lifehacker.com/309233/make-any-application-portable-with-mojopac-freedom

Однако я не использовал эту более новую версию «свободы».

Две другие программы, которые я видел и которые кажутся популярными, — это Cameyo: http://www.techsupportalert.com/content/create-your-own-portable-virtual-version-any-windows-program.htm

и P-Apps, http://dottech.org/26404/create-a-portable-version-of-any-software-with-p-apps/

но я не могу поручиться за качество любого из этих двух.

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

person alcalde    schedule 09.05.2013
comment
Что не так со встроенными ПК под управлением Windows? Я обслуживаю пятнадцать машин промышленного производства, все из которых оснащены системами управления ПЛК с ЧМИ на базе Windows. Я думаю, что удобства перевешивают все, что может быть истолковано как недостаток в долгосрочной перспективе, особенно когда я могу, VPN, VNC, отлаживать, перекомпилировать и перезапускать производство со своего кухонного стола в субботу. - person J...; 10.05.2013
comment
@J... проблема была не столько во встроенной части, сколько в части Windows. :-) - person alcalde; 11.05.2013
comment
@alcalde Да, вы были очень ясны - я прошу вас обосновать свой комментарий. Если есть законная причина для того, чтобы это было в вашем ответе, пожалуйста, предоставьте хотя бы некоторые доказательства, рассуждения и примеры использования, в которых это является проблемой. В противном случае, если это просто иррациональный фанатизм, его, вероятно, следует удалить из ответа как не относящегося к делу. - person J...; 11.05.2013