Пожалуйста, примите во внимание: Портативный как в portableapps.com, не в традиционном смысле языка, который может использоваться на нескольких архитектуре или операционных системах. Кто бы ни выдумал это использование портативного слова, должен биться. :)
Я - DBA и системный администратор, главным образом для машин Windows, управляющих SQL-сервером. Я ищу программирование/язык сценариев для Windows, который не требует доступа Администратора или инсталлятора, будучи должен не установить процесс кроме расширения его в папку. Мое намерение состоит в том, чтобы иметь язык для автоматизации, вокруг которой я могу стандартизировать.
До этого пункта я использовал комбинацию командных файлов и раковины Unix, используя sh.exe от UnxUtils, но это далеко от прекрасного решения.
Я оценил горстку вариантов, у всех них есть по крайней мере один серьезный недостаток или другой. У меня есть решительное предпочтение чему-то общедоступная или двойная лицензия, но я больше интересуюсь нахождением правильного инструмента, чем что-либо еще. Не заинтересованный, что что-либо, что полагается на Cygwin или Яву, но в этом пункте, я согласился бы с чем-то, чему нужен .NET.
Требования:
Бонусные очки:
До сих пор я попробовал:
TCLKIT - это одно файл, автономная система TCL / TK. У меня есть версия Mac, составляет около 3,8 мегабайков. Вы можете получить версию для любой современной ОС. Я несу по приводу большого пальца, который имеет Mac, Windows и Linux Binafy, поэтому я могу запустить свои сценарии на любой платформе. Установка не требуется, просто скопируйте один файл куда хотите.
Единственное, что оно отсутствует из вашего оригинального спецификации - это поддержка MS SQL Server / ODBC из коробки. Я знаю, что люди используют TCL для этого, но я думаю, что вам придется добавить дополнительную библиотеку или что-то в этом роде. См. Вход TCL'ERS Wiki в записи MS SQL Server для получения дополнительной информации.
, глядя на исчерпывающий список Wikipedia портативного программного обеспечения Там крошечный компилятор C, опять же на Википедии здесь , и его собственная домашняя страница здесь .
Чтобы обобщить, цитируя из списка функций Wikipedia:
Надеюсь, это поможет и будет использоваться, С уважением, Том.
Я призываю вас попробовать LUA . Что касается ваших требований:
POPEN
POPEN , то это также поддерживается также. и ваши бонусные баллы:
srlua
, или я могу отправить вам 120-линейную скрипт lua, который преобразует источник lua для файл .c, в котором вы ссылаетесь с вашим приложением и интерпретатором, чтобы сделать исполняемый файл. Дополнительные бонусные баллы:
Для TCL, кроме TClkit, FreeWrap - еще один маленький портативный, автономный переводчик для TCL.
Просто переименовывает исполняемый FreeWrap для чего-то другого преобразует его в автономный переводчик. Переименование его обратно на FreeWrap преобразует его в обертку сценария.
Кроме того, приложения для захвата, содержащие интерпретатор TCL. В ужасных ситуациях вы можете попробовать открыть приложение в качестве файла ZIP и редактировать / заменить код TCL, содержащийся внутри (просто не забудьте сделать копию сначала). Это сохранило меня несколько раз, когда я на клиентском сайте без инструментов разработки, но нужно что-то устранить. Я просто делаю копию одного из моих развернутых приложений и престо - мгновенная среда развития!
В дополнение к предположению Луа есть также бездействует . Это в основном суперсетом LUA 5.1, с языком (и библиотеками), так и в реализации на основе LUA. Первоначально было создано более полное решение для Windows для Windows: поскольку Lua является примарно предназначенным для встраивания, он имеет довольно небольшую стандартную библиотеку, и обычно ожидается, что встраиваемая приложение предоставляет богатую библиотеку в Луа.
Это имеет смысл для встроенного языка, потому что, в конце концов, не так много общего функциональности, скажем, Adobe Lightroom, Nginx и World of Warcraft, поэтому просто ничего не может поставить в стандарт Библиотека. Но для более общего назначения ОС ОС Скрипсирующихся языка, хотелось бы немного более крупную библиотеку. Таким образом, простые пакеты пару библиотек, которые являются сторонние (а иногда и трудно добраться до работы на Windows) в Lua в своей стандартной библиотеке.
Некоторые из вещей, которые Adly Standard Bistandard добавляет LUA, являются узкой интеграцией Win32, поддержка SQLite3, поддержка сети, генератор PEG-анализатора и архивную поддержку.
Кроме того, IDLE имеет поддержку для встраивания Perl и C Code в ваши программы ожидания.
Каждая дополнительная версия Windows поставляется предварительно установлена как с VBScript, так и JScript. Не соответствует все Ваши функции (компилируйте исполняемый к исполняемости), но они, безусловно, имеют непревзойденное преимущество с размером установки: трудно победить 0
.
Существует пара вариантов Python, которая может соответствовать вашему законопроекту:
первый - это IronPython, , который может быть запущен без установщика и будет хорошо играть .net apis. Это дает вам доступ к чему-либо с API .NET или COM Typleib, для которого вы могли бы построить PIA. Я использовал в качестве механизма сценариев для именно этой причины - он может быть сброшен в каталог в системе и не должен был быть явно установлен ..
Вам придется установить соответствующую среду выполнения .NET, но .NET 2.0 установлен с SQL Server 2005. SQL Server может быть доступен через ADO.NET и Constate Guis с WinForms довольно простым.
Второй - Portable Python , который предназначен для запуска USB-ключа. Хотя я вижу, что вы уже попробовали, вы можете уточнить, что были недостатки. Если что-то не доступно в базовой установке, вы всегда можете посмотреть на построение пользовательской версии с ней. TKinter (по крайней мере) в комплекте.
Вы также можете использовать Py2exe для генерации автономных приложений Python со всеми лишними мускулистыми ударами. Это даст вам около 10 файлов или около того (в зависимости от количества DLL), которые могут быть запущены из одного каталога, возможно, на USB-ключа.
Проходные установки локального Python на ОС Unix-OID довольно просты, так что это в значительной степени не является мозгом. Кроме того, Python поставляется с большинством дистрибутивов Linux и доступно в качестве «внесенного программного обеспечения» от большинства, если не все продавцы Trad Unix. IIRC это также в комплекте с MacOS.