c # - Programmet kører fint i Windows XP, men programmet kolliderer, når du kører i Windows 7?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har udviklet en wpf-applikation på min Windows XP-maskine med VS 2010 målretning. Net Framework 3.5 Sp1 og ved hjælp af WPF værktøjssæt. Jeg har brugt sqllite som database af ansøgningen. når jeg installerer den applikation på windows xp sp2 eller sp3 det kører fint. men når jeg installerer denne applikation på Windows 7 Home Premium x64 eller Windows 7 Ultimate x84, og når jeg klikker på knappen, der åbner et popup vindue, går programmet ned. men når jeg indstiller kompatibilitetsmodus til Windows XP Sp3 for den applikation. programmet kører fint i Windows 7. Jeg er helt forvirret om problemet. Lad mig vide, hvis du finder problemet og løsningen?

Bedste reference


Den bedste måde er, hvis du kan installere udviklingsmiljøet på en Win7-maskine og køre programmet inde i debuggeren.


Hvis det ikke er en mulighed, kan du tilføje en begivenhedshåndterer til AppDomain.UnhandledException. I tilfælde af, at handler tilføjer et simpelt opkald til meddelelsesboks, der viser så meget af undtagelsen som muligt, herunder staksporingen. dig den fejl, der får programmet til at gå ned.

Andre referencer 1


Jeg tror, ​​jeg har fundet ud af løsningen. når jeg har forsøgt at installere applikationen til et andet sted end programfilerne, applikationen fungerer det fint. Måske er problemet, at jeg har placeret min sqllite db-fil i installationsmappen, som som standard er c: \ programfiler, og i win 7 skrives tilladelsen nægtet. så når jeg prøver at indsætte nogen poster i databasen, viser den en fejl.

Andre referencer 2


Mest sandsynligt bruger du stier, der er begrænset i Windows 7. Skriver du data eller gemmer databaser på en af ​​følgende stier? Disse stier kræver administratoradgang til at skrive til.



   Mapper

  C: \ Documents and Settings \ Alle brugere

  C: \ Programfiler

  C: \ ProgramData

  
   Registreringsfejl

  HKEY\_CLASSES\_ROOT

  HKEY\_LOCAL\_MACHINE



Realiser at din applikation sandsynligvis er installeret i Programfiler, så alle indstillingsfiler eller databaser, der er installeret i den samme mappe, læses kun.


Løsningen er at enten flytte de dynamiske filer til et sted som \%AppData\% eller \%LocalAppData\% eller at ændre tilladelserne på de nødvendige filer eller mapper for at give alle brugere adgang til læsning/skrivning.