2017-04-01 4 views
0

Cela ressemble à une question simple, mais je suis confronté à des problèmes étranges. J'utilise Visual Studio 2015, Enterprise Edition et Install Shield pour créer la configuration de mon logiciel, c'est la première fois que je crée un logiciel à usage général. Tout se passe comme prévu mais j'ai ces 2 problèmes.Comment faire pour créer correctement Install Install Shield dans Visual Studio

Les problèmes sont:

  1. raccourcis ne fonctionnent pas
  2. application ne démarre pas jusqu'à ce que je lance à partir du répertoire racine en tant qu'administrateur

Problème 1: Je crée la configuration et faire tout demandé, j'ai mis la sortie primaire dans la configuration, qui contient d'ailleurs 2 fichiers. le fichier .exe et un fichier .config et je choisis la sortie principale dans le bouton "ajouter" pour créer un raccourci mais lorsque j'installe cette configuration, le raccourci du Bureau ne fonctionne pas, en aucune façon.

Problème 2: Lorsque je double-clique simplement sur le fichier principal .exe du logiciel, il ne s'exécute pas. Pas de réponse mais quand je l'exécute en tant qu'administrateur, il répond et ouvre. Le problème est bizarre car cela ne se produit pas dans le débogage ou les fichiers de version du logiciel.

Y a-t-il quelque chose que je fais de mal? peut-être la façon dont j'insère la sortie principale?

+0

Si je n'ai pas été clair, faites-moi savoir où je peux fournir plus d'informations :) –

+0

Modifier la question pour inclure plus d'informations. – PhilDW

Répondre

0

Cela ne semble pas être un problème d'installation. Votre instruction "..quand je l'exécute en tant qu'administrateur, il répond et s'ouvre" signifie que votre programme nécessite des privilèges d'administrateur pour s'exécuter correctement, et l'exécuter à partir d'un raccourci ne l'exécute pas automatiquement en tant qu'administrateur. La façon habituelle de dire qu'un programme a besoin d'altitude quand il court est de lui donner une élévation manifeste comme ici:

https://msdn.microsoft.com/en-us/library/bb756929.aspx

avec requireAdministrator. Le programme affichera alors la boîte de dialogue standard demandant l'élévation. La raison la plus probable pour laquelle votre programme ne fait rien quand il échoue est qu'il se bloque silencieusement et s'en va, et c'est probablement parce que votre code ne s'assure pas explicitement que tout ce que vous faites fonctionne réellement. Par exemple, si vous essayez de créer/modifier un fichier dans Program Files (et que vous n'êtes pas élevé), il échouera et votre code devrait vérifier que l'accès a été refusé.