[C#] Program nie uruchamia się pod Windows XP

Witajcie.

Napisałem program drukujący raporty na podstawie pozycji zamieszczonych w bazie danych. Zrobiłem 2 instalatory: jeden Bitrock Install Builderem, drugi Advanced Installerem 8.9. Oba instalatory działają. Jednak jak na moim komputerze (Windows 7 x64) program po zainstalowaniu działa, na innym komputerze z Windows 7 x86 działa, ale już na Windows XP nie działa. Instalator przechodzi, potem coś się tam z lekka próbuje dziać, ale żadne okienko się nie pojawia, procesu też nie ma.

W programie wykorzystałem bibliotekę iTextSharp (tworzenie PDF-ów), oraz bazę danych SQLite (2 dll-ki referencyjne pod .NET 3.5).

Niedawno pisałem sobie inny programik z bazą danych SQLite (pod .NET 3.5 rzecz jasna) i wszystko kulturalnie przechodziło. Co może być nie tak?

Na Windows XP nie możesz ukończyć instalacji programu, czy też nie możesz uruchomić programu? Jakąś obsługę wyjątków masz? Mógłbyś pokazać komunikat błędu?

W przypadku SQLite korzystasz z jednej z tych dwóch paczek?

Setups for 32-bit Windows (.NET Framework 3.5 SP1)

Precompiled Binaries for 32-bit Windows (.NET Framework 3.5 SP1)

http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki?

Czy na WIndows XP masz zainstalowany:

.NET Framework 3.5 SP1

Visual C++ 2008 SP1 Redistributable Package

?

Już wyjaśniam zagadnienie. Po kolei:

Instalacja zawsze kończy się powodzeniem. Dopiero próba odpalenia już zainstalowanego programu kończy się niepowodzeniem. Błędu żadnego nie ma. Po prostu program się nie uruchamia.

SQLIte - Precompiled binaries for 32-bit Windows dla .NET Framework 3.5 SP1. To są ledwie dwie dll-ki, które muszę wpakować w referencjach. Do tej pory ich zawsze używałem i działały.

Instalator doinstalowuje .NET Framework jeśli trzeba, ale a ciekawości próbowałem też odpalić na innym kompie gdzie .NET Framework 3.5 nie był zainstalowany. I program nie wstawał tak czy owak :frowning: Zresztą program testowałem na komputerach na których testowałem wszystkie moje wcześniejsze instalki…

Tzn. się ja wiem, że SQLite to są tylko dwie dll-ki, ale te dwie dll-ki wymagają, aby na komputerze, na którym będziesz ich używał było zainstalowane:

  • .NET Framework 3.5 SP1

  • Visual C++ 2008 SP1 Redistributable Package

Stąd też moje pytanie … Czy masz to zainstalowane ?

Poza tym jakiś wyjątek na pewno musi się pojawiać skoro program się nie uruchamia. Wystarczy go przechwycić i wyświetlić jego komunikat.

Przeoczyłem drugi podpunkt :-o Sprawdzę dopiero jutro, tutaj nie mam możliwości testowania. Dzięki za rady :slight_smile:

Ale jak tak chwilę mój mały rozumek pomyśli… Przecież wcześniej na tych testowanych kompach moje instalki chodziły… Z tą różnicą, że iTextSharp-a wykorzystuję pierwszy raz… Czas pokaże jutro co się tak z tym dzieje :slight_smile:

I jak … udało Ci się ustalić co było problemem?

No więc okazuje się, że program czepia się o pliki deploy.

Wpierw walił mi komunikatem o plik report.ico.deploy (nie rozumiem po co mu ten plik do ikonki), ale z ustawień w VC# dałem żeby tworzył aplikację bez plików manifestu i problem pod tym plikiem zniknął.

Co ciekawe w tym momencie zaczął się pluć o plik przedszkole_spis.config.deploy… Teraz już się nie bawię w instalatory, tylko robię szybkiego publisha w VC#. Jakiś ładny i sensowny instalator zrobi się jak wszystko ruszy. No więc instalacja z publisha VC# kończy się niepowodzeniem, w szczegółach widać ten błąd. Nie wiem po kiego czepia się o te pliki jak nigdy nie miałem z tym problemów.

Ale nie byłbym sobą gdybym nie powalczył dalej i próbuję odpalić program ze skopiowanych tylko folderów bin i obj. Błąd dalej ten sam :confused:

Screen z raportu błędu:

errorkg.jpg

Czy możesz zrobić clean na całym solution, następnie build na całym solution i zobaczyć, czy program uruchomi się ze zwykłego .exe? Jeśli się nie uruchomi, to pokaż jaki wtedy wystąpi komunikat błędu.

Program się nadal nie uruchamia :frowning: jestem załamany…

Rozumiem, że żadnego komunikatu błędu nie złapałeś (blok try{} catch{})? Jeśli nie, no to ja niestety nie jestem w stanie pomóc.