2011-07-06 10 views
10

Prawdopodobnie tu śnię, ale zastanawiam się, czy istnieje jakakolwiek możliwość całkowitego osadzenia minimalnego silnika CouchDB w aplikacji Windows, tak, że aplikacja może być uruchamiana bez konieczności instalacji (CouchDB/Erlang) na komputerze użytkownika.Zero wdrożenia CouchDB osadzone w aplikacji Windows?

+0

Zobacz http://stackoverflow.com/questions/1795628/erlang-compilation-erlang-as-alone-executeable – Pindatjuh

+2

To jest rzeczywiście święty Graal. Erlang ma inną historię niż większość popularnych języków (nie jest to pływanie ryb w wodzie Unix). Jak szalenie to brzmi, możesz mieć większe szczęście osadzając V8 lub NodeJS i używając PouchDB. Może być łatwiej uzyskać PouchDB z parytetem z Couch niż z emulgowaniem Erlanga. Podstawowa baza kodowania kanapy to tylko 20k linii. Wiem, że to wariactwo (stąd komentarz, nie odpowiedź), ale to nie jest takie szalone. – JasonSmith

+0

PouchDB brzmi interesująco - czy masz jakieś linki? – devios1

Odpowiedz

5

już zapewnić ten odchudzić/dołączonego zdolność - sprawdzić tutaj https://github.com/dch/couchdb/downloads a szczególnie chudego tobołek na 16MiB Erlang + wszystkie kanapa miłość tutaj https://github.com/downloads/dch/couchdb/couchdb-1.1.0+COUCHDB-1152_otp_R14B03_lean.7z

Niektóre krótkie notatki na łączenie i osadzanie CouchDB na oknach w wiki.apache. org/couchdb/Quirks_on_Windows w tym jak ukryć okno erlang (erl.exe -detached) przy starcie.

Zapytaj o listę mailingową CouchDB @user, jeśli potrzebujesz więcej informacji lub pomocy, gdy masz na to cracka.

+0

Super, wielkie dzięki! – devios1

2

Nie będąc rozwiązaniem kodu, można użyć jednej z aplikacji pakietujących, które mogą osadzać pliki i inne pliki w jednym pliku wykonywalnym. Jednym z przykładów może być BoxedApp.

1

Po co zawracać sobie głowę. Tak łatwo jest zainstalować Erlang na Windowsie. Po prostu spakuj całość, w tym plik binarny erl.exe, i poproś instalatora, by rozpakował go do folderu. Jedyne, co musisz zmienić, to pliki wsadowe, a jeszcze lepiej, odrzucić je i napisać własny plik wsadowy, aby uruchomić CouchDb. Warto również użyć innego portu niż normalny port Erlang (lub zwykłego portu CouchDB), a może nawet sprawić, by Erlang używał localhost jako jego "shortname".

+0

Jednym z problemów jest rozmiar. Instalator ma około 82 megabajty. Jest to absurdalne w przypadku małej aplikacji o rozdzielczości 2 megapikseli. Miałem nadzieję, że może istnieć odchudzona wersja osadzania lub coś takiego. – devios1

+1

Couchdb nie byłby małą aplikacją 2 megapikselową, gdyby nie korzystała z bibliotek Erlang VM i Erlang OTP. To tak, jakby zapytać, jak spakować aplikację Java bez biblioteki JVM lub biblioteki Java. Jeśli to pomoże, spakuj swoje środowisko wykonawcze Erlang, niezależnie od plików .beam CouchDB. W ten sposób ludzie mogą uaktualniać bez ciągłego pobierania "środowiska uruchomieniowego Erlang". –

+0

Innym powodem jest to, że chcesz uruchomić couchdb na IIS/na stronie internetowej. Masz uprawnienia do kopiowania plików i uruchamiania w usługach IIS, ale nie do instalowania czegoś w systemie operacyjnym. – DarcyThomas

1

Witryna CouchDB zawiera co najmniej kilka wskazówek dotyczących Integrating CouchDB into your Windows Applications. YMMV, z tego co mogę powiedzieć, to mniej więcej porady dotyczące tworzenia relokowalnej wersji. Prawdopodobnie będziesz chciał wygenerować solidnego losowego administratora/hasło w pliku local.ini podczas procesu instalacji i ustawić odpowiednie uprawnienia dla wszystkich utworzonych baz danych (w celu ochrony przed potencjalnymi lukami w zabezpieczeniach skryptów krzyżowych), oprócz zapewnienia Powiązanie gniazda występuje tylko w domyślnym interfejsie lokalnym.