Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Nach Installation funktioniert Programm nicht mehr

Hallo Community!
Ich schreibe derzeit an einem Programm (VS2008 mit C#), welches eine Statistik in Excel schreiben soll. Dazu schrieb ich mir eine eigene Methode:

 private void Excelschreiben(string kontrollausdruckspfad)
        {   
                ApplicationClass excel;
                Worksheet worksheet;
                object n;
                string pfad = System.Windows.Forms.Application.StartupPath + @"\Kontollausdruck.xlt";
                excel = new ApplicationClass();
                n = System.Reflection.Missing.Value;
                excel.Workbooks.Add(pfad);
                excel.Visible = false;
                worksheet = (Worksheet)excel.ActiveWorkbook.ActiveSheet;
                int zellenrunter = 5;
                int zellenrüber = 1;
                worksheet.Cells[3, 1] = DateTime.Now.ToLongDateString();
                OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Luft.accdb");
                string sql = "SELECT * FROM tbluebersicht";
                OleDbCommand cmd = new OleDbCommand(sql, con);
                con.Open();
                OleDbDataReader dr = cmd.ExecuteReader();
                int feuerwehrid = 0;
                string feuerwehrname = "";
                int flaschenanzahl = 0;
                DateTime datum = DateTime.Now;
                DateTime letzterdruck = DateTime.Now;
                int id = 0;
                int alteid = 0;
                string sqla = "SELECT * FROM tblDatum";
                OleDbCommand cmda = new OleDbCommand(sqla, con);
                OleDbDataReader drdatum = cmda.ExecuteReader();
                while (drdatum.Read())
                {
                    id = Convert.ToInt32(drdatum["ID"]);
                    if (id > alteid)
                    {
                        letzterdruck = Convert.ToDateTime(drdatum["Datum"]);
                        alteid = id;
                    }
                }
                 while (dr.Read())
                {
                    feuerwehrid = Convert.ToInt32(dr["Feuerwehrid"]);

                    flaschenanzahl = Convert.ToInt32(dr["Flaschenanzahl"]);
                    datum = Convert.ToDateTime(dr["Datum"]);
                    TimeSpan ts = new TimeSpan(datum.Ticks - letzterdruck.Ticks);
                    int zeitspanne = Convert.ToInt32(ts.TotalSeconds.ToString("0"));
                    if (zeitspanne > 0)
                    {
                        string sqlfid = String.Format("SELECT Feuerwehr FROM tblFeuerwehren WHERE ID={0}", feuerwehrid);
                        OleDbCommand cmdfid = new OleDbCommand(sqlfid, con);
                        OleDbDataReader drfid = cmdfid.ExecuteReader();
                        while (drfid.Read())
                        {
                            feuerwehrname = drfid["Feuerwehr"].ToString();
                           
                        }
                        drfid.Close();
                        worksheet.Cells[zellenrunter, zellenrüber] = feuerwehrname;
                        zellenrüber = zellenrüber + 1;
                        worksheet.Cells[zellenrunter, zellenrüber] = flaschenanzahl * 2.40;
                        zellenrüber = zellenrüber + 1;
                        worksheet.Cells[zellenrunter, zellenrüber] = datum;
                        zellenrüber = 1;
                        zellenrunter = zellenrunter + 1;
                    }
                }
                dr.Close();
                con.Close();
                object Dateiname = kontrollausdruckspfad;
                object missing = System.Reflection.Missing.Value;
                excel.Visible = true;
               
                excel.ActiveWorkbook.SaveAs(Dateiname, missing, missing, missing, missing, missing, XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing, missing);
               

                object f = false;
                excel.Workbooks.Close();
                excel.Quit();

            }

Wenn ich das Programm unter Visual Studio 2008 ausführe funktioniert alles fabelhaft. Nun hab ich mir einen Installer dazu erstellen lassen. Führt man das Programm aber nun als installierte Version aus so kommt folgende Fehlermeldung:

Microsoft.NET Framework
Unbehandelte Ausnahme in der Anwendung. Klciken Sie auf "Weiter", um den Fehler zu ignorieren und die Anwendung forzusetzen. Wenn Sie auf "Beenden" klicken wird die Anwendung sofort beendet.

Microsoft Office Excel kann auf die Datei 'C:\Programme\bbs-rohrbach\Füllsoft\Kontrolldruck\4C312100' nicht zugreifen. Dies kann mehre Gründe haben.

Komisch finde ich daran, dass es im VS2008 problemlos funtkioniert. Nach der Installation aber nicht mehr.Vl kennt jemand diesen Fehler schon.

Freue mich auf eure Antworten!

 


Antworten zu Nach Installation funktioniert Programm nicht mehr:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Wenn diese Meldung kommt, ist diese Datei aber auch vorhanden (übern Explorer nachsehen)? Sonst wär ja klar, dass das Programm dann nicht zugreifen kann. Von einem anderen Prozess ist es auch nicht geöffnet vielleicht?

« Taschenrechner mit C programmieren.BlueJ GUI »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Internet-Zugriffsprogramm
Ein Internet-Zugriffsprogramm, auch Browser genannt, stellt Internetseiten für den Benutzer dar. Am bekanntesten ist der Microsoft Internet Explorer, gefolgt vom kos...

Programm
Siehe Software...

Excel
Excel ist eine Tabellenkalkulationssoftware von Microsoft, die Teil des Office-Pakets ist, aber auch eigenständig erworben werden kann. Ursprünglich für di...