Создание приложения запуска - PullRequest
2 голосов
/ 30 августа 2009

Хорошо, я хочу создать приложение, которое запускает другие приложения. Однако цель здесь - сделать приложение «портативным», чтобы я мог переходить с одного рабочего стола Windows на другой, используя одно и то же приложение с USB-накопителя. Итак, вот другое изложение того, что я имею в виду:

У меня есть приложение X. Я использую его на машине 1, и я хочу использовать его на машине 2. Однако машина 2 - моя подруга, и он не хочет, чтобы я на ней что-то устанавливал. Итак, я беру все файлы, которые установщик сделал в моей системе, и помещаю их в папки. Приложение X помещает файлы в папку Windows, ожидаемую при запуске. Если я просто запускаю приложение и оно смотрит в директорию Windows, оно не найдет файлы. У меня нет / хочу возможность помещать файлы в директорию windows. Я хочу сказать приложению искать в папке a файлы в папке b вместо того, где оно обычно выглядело бы. Затем я мог бы использовать эту программу на любой машине без какой-либо модификации машины.

Это выполнимо? Если так, как это называется, чтобы я мог посмотреть?

РЕДАКТИРОВАТЬ: win dir был примером. Я хотел бы, чтобы приложение содержалось в папке на флэш-накопителе. Я хочу перенаправить туда, где приложение ищет файлы, в указанную папку.

Ответы [ 2 ]

3 голосов
/ 30 августа 2009

Это можно сделать, но насколько легко все зависит от программы, которую вы запускаете.

Виды приложений, которые будут делать:

  • Просто бегите счастливо и выполняйтесь где угодно (без зависимостей). Это очень просто!

  • Требуется установить некоторые переменные среды. Это легко сделать - вы можете запустить новый процесс с измененной средой, если хотите.

  • Чтение файлов с диска. Обычно при загрузке таких вещей, как .dll, приложения будут искать в PATH библиотеки DLL, поэтому их можно скопировать в папку приложения (рядом с .exe), и она будет успешно работать в любой системе. Однако в некоторых случаях приложения будут использовать фиксированные (или, по крайней мере, менее гибкие) пути, чтобы их было сложнее успешно запустить.

  • Чтение настроек реестра. Это сложнее. Вам необходимо знать, какое состояние требуется приложению, попросить программу запуска записать старое состояние реестра, изменить его и запустить приложение, а затем дождаться завершения работы приложения, чтобы восстановить исходное состояние. Это должно быть пуленепробиваемым, чтобы избежать повреждения реестра пользователя.

В конечном итоге вам нужно будет выяснить, для каждого приложения, которое вы хотите запустить, только то, что ему нужно для запуска.

Если приложения коммерческие, будьте осторожны, чтобы не нарушать условия лицензионного соглашения (EULA), выполнив их таким образом.

Другой альтернативой может быть установка образа виртуального ПК и просто выполнение его на хост-ПК, чтобы не нужно было беспокоиться о каких-либо особых случаях для каждого приложения. В зависимости от имеющегося программного обеспечения VPC вам может потребоваться установить программное обеспечение на главном ПК, чтобы разрешить запуск сеанса виртуального ПК, что может нанести ущерб цели / намерению.

1 голос
/ 30 августа 2009

Я думаю, что система, которую вы описываете, является U3 (более подробная информация на http://en.wikipedia.org/wiki/U3).. Это требует, чтобы приложение следовало протоколу U3, но если приложение делает, то оно может быть запущено с флешки U3 без каких-либо на хост-компьютере требуются разрешения на установку или права администратора.

Это запатентованная технология, поддерживаемая лишь несколькими поставщиками, которых я видел.

Если вам действительно нужна мобильность и мощность, рассмотрите VMWare Player и переносную и всю машину, настроенную в соответствии с вашими потребностями, на флэш-накопителе. Конечно, вашему другу, вероятно, придется разрешить вам установить VMWare Player.

...