String Geschrieben 17. Oktober 2011 Geschrieben 17. Oktober 2011 Hallo Leute, ich bin neu hier und ich hoffe, dass ich bei dem Durchforsten des Boards nichts übersehen habe. Mein Probelm ist folgendes, ich habe eine Anwendung entwickelt, welche Daten des Anwenders aufnimmt und in eine Datenbank schreibt. Ich verwende die "System.Data.SQLite" lib für die Datenbank. Mein Program läuft einwandfrei und ich bin sehr zufrieden. Ich möchte nun diese Anwendung sharen und habe genau dabei ein Problem. Es fängt bei dem Installwizzard an. Soll ich selber einen Wizzard entwickeln oder einen fertigen nutzen? Weiter geht es damit, dass meine Anwendung nicht auf anderen Computer läuft. Es kommt immer folgender Fehler: ".NET Framework Initialization Error: Unable to find a version of the runtime to run this application". Es ist aber .NET installiert. Ich habe die Anwedung mit den Compilersettings für .NET v2 compiliert. Ich hoffe ich habe mich so weit verständlich ausgedrückt und danke euch bereits im Voraus Liebe Grüße String Zitieren
SilentDemise Geschrieben 17. Oktober 2011 Geschrieben 17. Oktober 2011 hallo, fang mal hiermit an: Galileo Computing :: Visual C# 2010 – 30 Weitergabe von Anwendungen Zitieren
String Geschrieben 1. November 2011 Autor Geschrieben 1. November 2011 So ich bin wieder da, ich hatte leider Probleme mit dem PC. Ich habe es nun genau so gemacht wie es dort steht. Meine Installation geht soweit auch und das Program startet auch. Allerdings kommt da eine Exception -.- Ich bekomme sie leider nicht weg... See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. ************** Exception Text ************** System.Data.SQLite.SQLiteException: Unable to open the database file at System.Data.SQLite.SQLite3.Open(String strFilename, SQLiteOpenFlagsEnum flags, Int32 maxPoolSize, Boolean usePool) at System.Data.SQLite.SQLiteConnection.Open() at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) at BirdMed_FN2.BirdMerd_dbDataSetTableAdapters.TB_HalterTableAdapter.Fill(TB_HalterDataTable dataTable) at BirdMed_FN2.Main.Test_Load(Object sender, EventArgs e) at System.Windows.Forms.Form.OnLoad(EventArgs e) at System.Windows.Forms.Form.OnCreateControl() at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) at System.Windows.Forms.Control.CreateControl() at System.Windows.Forms.Control.WmShowWindow(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at System.Windows.Forms.ContainerControl.WndProc(Message& m) at System.Windows.Forms.Form.WmShowWindow(Message& m) at System.Windows.Forms.Form.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ************** Loaded Assemblies ************** mscorlib Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.42 (RTM.050727-4200) CodeBase: file:///C:/WINXP/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll ---------------------------------------- BirdMed_FN2 Assembly Version: 1.0.0.0 Win32 Version: 1.0.0.0 CodeBase: file:///C:/Programme/CiArc/BirdMed_Setup/BirdMed_FN2.exe ---------------------------------------- System.Windows.Forms Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.42 (RTM.050727-4200) CodeBase: file:///C:/WINXP/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll ---------------------------------------- System Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.42 (RTM.050727-4200) CodeBase: file:///C:/WINXP/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll ---------------------------------------- System.Drawing Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.42 (RTM.050727-4200) CodeBase: file:///C:/WINXP/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll ---------------------------------------- System.Data.SQLite Assembly Version: 1.0.66.0 Win32 Version: 1.0.66.0 CodeBase: file:///C:/Programme/CiArc/BirdMed_Setup/System.Data.SQLite.DLL ---------------------------------------- System.Data Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.42 (RTM.050727-4200) CodeBase: file:///C:/WINXP/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll ---------------------------------------- System.Transactions Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.42 (RTM.050727-4200) CodeBase: file:///C:/WINXP/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll ---------------------------------------- Accessibility Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.42 (RTM.050727-4200) CodeBase: file:///C:/WINXP/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll ---------------------------------------- System.Xml Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.42 (RTM.050727-4200) CodeBase: file:///C:/WINXP/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll ---------------------------------------- System.Configuration Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.42 (RTM.050727-4200) CodeBase: file:///C:/WINXP/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll ---------------------------------------- ************** JIT Debugging ************** To enable just-in-time (JIT) debugging, the .config file for this application or computer (machine.config) must have the jitDebugging value set in the system.windows.forms section. The application must also be compiled with debugging enabled. For example: <configuration> <system.windows.forms jitDebugging="true" /> </configuration> When JIT debugging is enabled, any unhandled exception will be sent to the JIT debugger registered on the computer rather than be handled by this dialog box. Ich habe die SQL.dll mit ins Root gepackt... ich verstehe nicht was ich da falschmache Ich hoffe es kann mir jemand helfen. Zitieren
Gurki Geschrieben 1. November 2011 Geschrieben 1. November 2011 warum nutzt du für ein setup nicht einfach innosetup (Inno Setup) und ISTool | Free System Administration software downloads at SourceForge.net Zitieren
String Geschrieben 1. November 2011 Autor Geschrieben 1. November 2011 Ich werde mir es mal ansehen, aber das Ding kann doch net meine Exception lösen oder?^^ Zitieren
Gurki Geschrieben 1. November 2011 Geschrieben 1. November 2011 nein, damit kannst du deutlich besser setups bauen, als mit dem visual studio wizzardgedöhns Zitieren
Pixie Geschrieben 1. November 2011 Geschrieben 1. November 2011 System.Data.SQLite.SQLiteException: Unable to open the database file Wie gibst Du denn den Pfad zur Datei an? Zitieren
String Geschrieben 2. November 2011 Autor Geschrieben 2. November 2011 (bearbeitet) Nabend Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\Datenbank\BirdMerd_db.db"; Damit müsste es gehen, tut es aber nicht. Ich habe die Vermutung, das es evtl an dem dataGridview liegt, den Dataset hab ich nämlich über die GUI-Properties gemacht und nicht programmiertechnisch. Vielleicht baut er da den Link "\Datenbank\BirdMerd_db.db" statt wie oben... Ich muss mal sehen, ich habe noch nie ein dgv über den Code gefüttert... Danke dir aber auf jeden Fall ...Oder muss ich evtl noch etwas andere bei dem User installieren als die .NetFrameworks?? Bearbeitet 2. November 2011 von String Zitieren
SilentDemise Geschrieben 2. November 2011 Geschrieben 2. November 2011 naja, ist die datenbank denn auch auf dem Zielsystem vorhanden? Läuft die DB Engine. Zitieren
String Geschrieben 2. November 2011 Autor Geschrieben 2. November 2011 Nein ich habe keine Engine installiert, ich wüsste auch nicht, welche ich installieren sollte. Hast du da eine Idee? Ich muss gestehen, ich dachte, da es eine .db datei ist und keine .sql bräuchte ich keine DB-Engine... ja die db ist vorhaned. Zitieren
String Geschrieben 6. November 2011 Autor Geschrieben 6. November 2011 Hallo nochmal, kann mir wirklich keiner dabei helfen? Es muss doch einen Weg geben, eine Datenbank mit der SQLite.dll zu publizieren? Es wäre super, wenn mir da jemand helfen könnte... Ich übersehe scheinbar einen wichtigen Punkt... grüße String Zitieren
Pixie Geschrieben 6. November 2011 Geschrieben 6. November 2011 Stimmen denn die System-Architekturen und Build-Versionen hinsichtlich 32/64bit? Zitieren
String Geschrieben 6. November 2011 Autor Geschrieben 6. November 2011 Ja stimmen. Wenn der oben genannte Fehler kommt gibt es auch einen Continue_button, dann irgnoriert er den Fehler und führt die Software aus... nur ohne Datenbank. Zitieren
String Geschrieben 6. November 2011 Autor Geschrieben 6. November 2011 Ich habe mich in letzter Zeit mit "SQL Server Compact 3.5" beschäftigt... Ich weiß nicht ganz wie ich das verwenden soll. Das einbinden ist kein Problem, aber wie nutze ich das richtg... Syntax und das Publizieren der Software damit... Hat jemand damit Erfahrungen gemacht? Zitieren
SilentDemise Geschrieben 6. November 2011 Geschrieben 6. November 2011 HowTo: SQL Server Compact Edition mit LINQ to SQL verwenden | Code-Inside Blog Datenbankanwendungen mit Microsoft SQL Server Compact Zitieren
String Geschrieben 6. November 2011 Autor Geschrieben 6. November 2011 Super, dann muss ich meinen gesamten Code ändern?! Es muss doch eine Möglichkeit geben den Fehler daoben zu lösen. Ich verstehe den Grund nicht, warum die Anwendung Schwierigkeiten hat auf meine DB zu connecten... Zitieren
Pixie Geschrieben 6. November 2011 Geschrieben 6. November 2011 Hat die Anwendung denn die passenden Rechte auf dem Ordner der DB? Zitieren
SilentDemise Geschrieben 6. November 2011 Geschrieben 6. November 2011 und hast du die dlls auf copy to local gestellt? Sprich: sind die benötigten SQL dlls vorhanden? Zitieren
String Geschrieben 6. November 2011 Autor Geschrieben 6. November 2011 Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\Datenbank\ Ich erstelle so meinen Ordner, muss ich da noch rechte vergeben und wenn ja wie? Ich bin auf das Thema mit den Rechten auch schon beim googlen gestoßen, aber dafür hab auch keine Lösung gefunden. Ja so habe ich die DLL eingestellt, allerdings gebe ich nur eine mit und das ist die System.Data.SQLite Zitieren
Pixie Geschrieben 6. November 2011 Geschrieben 6. November 2011 Ich erstelle so meinen Ordner, muss ich da noch rechte vergeben und wenn ja wie? Ich bin auf das Thema mit den Rechten auch schon beim googlen gestoßen, aber dafür hab auch keine Lösung gefunden. Wie gibst Du denn die Anwendung weiter? Per Installer? Wenn ja, womit erstellt? Ich muss gestehen, ich weiß nicht, wie man von Hand Rechte vergibt. Aber war bei uns öfter ein Thema, die Rechte explizit im Installer zu vergeben. Anwendungsdaten gehören dann eigentlich auch nicht in den Ordner der Programmdateien, sondern unterhalb des APPDATA-Ordners... bei Win7 also in einen entsprechend der Anwendung benannten Ordner in ProgrammData, weil in den Ordnern in ProgramFiles nicht geschrieben werden kann/soll. Zitieren
String Geschrieben 6. November 2011 Autor Geschrieben 6. November 2011 Ich erstelle den Ordner mit dem Setup von VS. Ich erstelle eben ein Setupprojekt für meine Anwendung und da stell ich alles ein, aber ich weiss nicht wie und ob ich da Rechte vergeben kann. Ich hab das schon gehört, das man Datenbanken auslagern soll, weil oft nicht in den Programmvz geschrieben werden darf, aber ich habe dazu nicht im netz gefunden... Mich nervt es echt, ich verstehe nicht warum das nicht funktioniert. Ich habe mir spaßes halber eine Testanwendung geschrieben, die mit Access lief, da geht alles.... Ich müsste meinen gesamten code und einige Klassen anpassen... -..- Zitieren
Pixie Geschrieben 7. November 2011 Geschrieben 7. November 2011 Ich erstelle den Ordner mit dem Setup von VS. Ich erstelle eben ein Setupprojekt für meine Anwendung und da stell ich alles ein, aber ich weiss nicht wie und ob ich da Rechte vergeben kann. Weiter oben hast Du gechrieben, dass Du den Ordner anhand des Names der Assembly erstellst. Dann erstellt den DB-Ordner also nicht der Installer sondern Deine Anwendung nach der Installation? Das kann ein Problem sein. Hast Du schon mal auf dem Zielsystem nach abgeschlosser Installation die Rechte auf den verschiedenen Ordnern verglichen? Mich nervt es echt, ich verstehe nicht warum das nicht funktioniert. Ich habe mir spaßes halber eine Testanwendung geschrieben, die mit Access lief, da geht alles.... Ich müsste meinen gesamten code und einige Klassen anpassen... -..- Bei sauberem Design sollte die zugrundeliegende Datenanbindung problemlos ausgettauscht werden können. Macht man in der Praxis zwar öfter mal anders, aber vielleicht kannst Du es für die nächsten Projekte mal im Hinterkopf behalten. Gibt es für SQLLite eine Community oder ein spezielleres Forum als dieses, wo Du fragen könntest, was beim Deployment mit .NET zu beachten ist? Gibt es bei Euch andere Prokelte mit SQLLite, bei denen Du spicken könntest? Zitieren
String Geschrieben 7. November 2011 Autor Geschrieben 7. November 2011 Path.GetDirectoryName(System.Reflection.Assembly.G etExecutingAssembly().Location) + @"\Datenbank\ So gebe ich den Pfad zu meiner Datenbank an, aber erstellen tue ich den Ordner mit dem Installer. Ich habe gesehen, dass alle Ordner schreibgeschützt sind, kann es daran liegen? Andererseits, geht es mit einer Accessdb. Ich hab zum testen eine kleine Anwendung geschrieben. Zitieren
realgun Geschrieben 7. November 2011 Geschrieben 7. November 2011 Versuch es doch mal mit einem "richtigen" Pfad (im Programmverzeichnis solltest Du nichts schreiben nach der Installation). Sinnvoll in Deinem Fall wäre einer der "ApplicationData" - Ordner, da hat auch ein normaler User Schreibrechte. Zitieren
Pixie Geschrieben 8. November 2011 Geschrieben 8. November 2011 Ich hab das schon gehört, das man Datenbanken auslagern soll, weil oft nicht in den Programmvz geschrieben werden darf, aber ich habe dazu nicht im netz gefunden... Guck mal hier: Datenordner mit VS Install anlegen Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.