2015-12-15 3 views
0

J'ai créé une application Windows et mon application va lire les données des deux fichiers xml dans lesquels ces fichiers sont stockés dans le dossier bin \ debugger de l'application, ces fichiers changeront en cours d'exécution. application et aussi ma forme utilise le lecteur Windows Media et certains autres fichiers XML qui sont stockés dans les lecteurs du système.Le fichier d'installation ne fonctionne pas correctement sur les machines client

J'ai créé un fichier de configuration comme procédure ci-dessous clic droit sur Solution> Ajouter> Nouveau projet> Nom de configuration

dans le dossier Application j'ai ajouté deux fichiers xml et en ajoutant la sortie principale de l'application j'ai eu un pop up boîte en disant que cela dépend de la wmp.dll j'ai ajouté celui-là aussi.

créé un raccourci pour la sortie principale, couper et coller dans le bureau de l'utilisateur et ensuite dans le programme utilisateur j'ai créé un nouveau dossier dans ce dossier j'ai créé un raccourci pour la sortie primaire d'une application fichier d'installation et après installation et j'ai installé la configuration en machine développée de code son travail bien mais quand j'installe le fichier d'installation sur un autre ordinateur ça ne fonctionne pas s'il vous plaît dites-moi quelle sera la raison, je me bats pour cela depuis 3 jours

note: J'ajouté le système conduit les fichiers que les emplacements avant l'application en cours d'exécution sur l'ordinateur client

public partial class Form1 : Form 
{ 
    XmlDocument SysDetails = new XmlDocument(); 
    XmlDocument UsrDetails = new XmlDocument(); 
    Public Form() 
    { 
    string filePath1 = Application.StartupPath; 
    string org1 = filePath1+ "\\UserFirstDetails.xml"; 
    UsrDetails.Load(org1); 
    XmlNode NdeFirst= UsrDetails.SelectSingleNode("UserFirstDetails/IsFirstTime"); 
    FirstTime = NdeFirst.InnerText; 
    if (FirstTime == "True") 
    { 
     NdeFirst.InnerText = "False"; 
     XmlNode productnum = UsrDetails.SelectSingleNode("UserFirstDetails/ProductOrderNum"); 
     productnum.InnerText = ProductNo; 
     UsrDetails.Save(org1);//here i'm getting an exception ,please help me 
          in setup project it is points to C:\Program Files\Default Company Name\Setup Project, How to make C:\Project Files folder ReadOnly attribute to false 
    } 
    } 
} 
+0

« ..on un autre ordinateur, il ne fonctionne pas .. » ne contient pas assez d'informations pour diagnostiquer un problème. Y at-il des messages d'erreur? Nombres? Est-ce que l'application plante ou s'installe? – PhilDW

+0

installation va installer avec succès, mais quand je double-cliquez sur le fichier d'installation, il ne montrera pas même les messages d'erreur même – Anusha

+0

Installation va installer, mais double-cliquez sur le fichier d'installation ne montrera rien? Voulez-vous dire que votre application installée ne fonctionne pas? Si le problème est que votre application ne fonctionne pas, alors elle a besoin d'un code de débogage, comme une boîte de message pour voir si elle commence réellement à fonctionner, puis voir où elle échoue. Il pourrait être défaillant à cause d'une dépendance manquante (comme .NET FW) mais encore une fois, dire que ça ne marche pas n'est pas suffisant pour savoir ce que cette dépendance pourrait être, même si c'est le problème. – PhilDW

Répondre

0

Basé sur l'exemple de code et l'erreur Accès refusé ...

Les programmes ne peuvent pas écrire dans le répertoire ProgramFiles à moins qu'ils ne soient élevés au niveau d'administration. Donc, il y a deux solutions:

  1. Il existe des répertoires pour les données utilisateur, telles que l'application des données du dossier, le dossier Application Data de l'utilisateur, etc., et c'est où les fichiers de données doivent être créés et mis à jour, et installés, et non pas le programme Répertoire de fichiers. Si votre programme fait un tas de choses qui nécessitent un privilège d'administrateur et que vous décidez que les utilisateurs ont besoin de privilèges admin pour l'exécuter, donnez-lui un manifeste d'élévation afin qu'il y ait une boîte de dialogue d'élévation au démarrage du programme.

Il y a un article ici: http://www.codeproject.com/Articles/17968/Making-Your-Application-UAC-Aware