Instalacja programu bazo-danowego

0

Witam,

Chce napisać aplikację, a w zasadzie usługę windows. Razem z nią będzie również program okienkowy do konfiguracji tej usługi. I do tego wszystkiego baza danych.

Z bazą danych będę się komunikował poprzez Entity framework - a więc będzie tam app m.in. z connection stringiem. ot.. taka dość rozbudowana aplikacja wyjdzie.

Czy mógłby mi ktoś pomóc, i poradzić jak przy takich systemach tworzy się instalację?

Tzn chodzi mi o to, aby klient miał jak najmniej zachodu z całą instalacją.

Tzn czy da się napisać wizzarda, który będzie się pytał o wszystkie dane do bazy danych - tj. login, user, hasła, nazwa serwera, sposób autentykacji... tak aby potem zrobić jakoś programowo "restore" z backupu bazy w to konkretne miejsce na serwerze, dla konkretnego użytkownika w bazie - a następnie podczas instalacji reszty poprawnie tworzyć connection stringi itp itd?

Tak aby użtykownik klikając "prawie" zawsze "Dalej" (dane do bazy raczej będzie i tak musisał podać), uzyskał na końcu.. działającą usługę w tle, otworzony program okienkowy...

Z góry dzięki za każdą pomoc. Pozdrawiam!

0

da się - InnoSetup + ISTools i generalnie możesz zrobić co tylko chcesz (ma wbudowany interpreter pascala więc możesz pisać własne okienka i oprogramować je jak Ci się podoba).
Co do zrobienia restore do bazy to już kwestia czy baza ma narzędzia, które możesz uruchomić z linii poleceń i które to zrobią

0

Aha, rozumiem, że programuje się taki instalator w Delphi.

A nie ma czegoś podobnego w C,C++? Microsoft nie udostępnia żadnego takiego narzędzia? Wszystkie moduły takiego systemu są w technologii Microsoftu.

0

Hmmm restore z backup...
A jak już zgarniesz user/pass i pozostałe dane żeby połączyć się z serwerem bazy danych, to nie lepiej wykonać skrypty tworzące bazę i wstawiające początkowe dane konfiguracyjne?

MS daje project templete do napisania instalatora. Nie jestem pewien czy w C/C++, jeśli już to w zarządzanym.
Poszukaj w necie, bibliotek do instalatorów jest trochę.

0

Aha, no z tymi skryptami to też jest jakiś pomysł.. Ale jeżeli restore będzie zajmował jedną linie w commandline, to można wrzucić plik do instalatora i po prostu wykonać taką komendę.

W każdym razie, chodziło mi o to, aby klient bez zbędnych komplikacji, dostał bazę danych dokładnie tam gdzie chce.

Np. Ma już bazę danych. Ma użytkownika "john", utworzony do niego login "john", schema "john".. i w tym schemacie chce mieć bazę danych, po zainstalowaniu mojej aplikacji.. Jest możliwe zrobienie tego wszystkiego z instalatora, tak ?

0

Odtwarzając bazę z backup to raczej kłopotliwe. A mając skrypty ustawiasz przed ich wykonaniem odpowiednią bazę i scheme i wykonujesz skrypty. Musisz tylko w aplikacji być gotowy, aby wykonywać zapytania w odpowiednim schemacie.
Pewnie przy restore też możliwe są takie rzeczy (żeby zaimportować tabele do innego schematu etc.), ale głowy nie stawiam, więc musisz doczytać w dokumentacji.
Poza tym czy w backup ms sql nie są zapisane ścieżki plików danych i logu transakcyjnego? Trzeba przy restore podać odpowiednie miejsce ich położenia. Pytanie czy więcej takich kwiatków nie będzie?

0

Aha. Tzn tak naprawdę, to nie martwiłem się czy dostać bazę z backupu czy skryptów.
Bardziej martwi mnie fakt, taki że w VS2010, korzystam z Entity Framewark - czyli tworzę sobie model bazy danych. Przy implementacji (tworzeniu tego modelu z palca) - podaje się serwer i wszytkie dane. Tworzony jest connection string w app.config. App.config nie mogę zmienić. Więc nawet jak już będę miał dane do bazy i nawet ją utworzę w tym konkretnym miejscu - to kolejnym krokiem instalatora będzie instalacja usługi Windows oraz aplikacji. I dlatego App.config i cała reszta imlementacji systemu nie może być sztywna. A przecież zostanie tam connection string, z mojej testowej bazy danych, czy nie?

0

Jeśli już to w instalatorze powinien być config, który nie zawiera żadnego connectionstringa, a utworzysz go (i zapiszesz do config) w wyniku zebranych informacji w okienkach insalatora. Fakt że musisz pogimnastykować się ze stworzeniem takiego instalatora.

1 użytkowników online, w tym zalogowanych: 0, gości: 1