J'ai développé une application serveur qui utilise Excel 2007 COM Automation pour convertir certains fichiers XLS. Il est lancé comme un service sur une instance Windows Datacenter, en cours d'exécution sous son propre utilisateur et j'ai dû modifier les paramètres de sécurité DCOM ("Lancement d'un utilisateur interactif") pour le faire fonctionner. P>
Le problème est que lorsque je me déconnecte (via RDP), il cesse de fonctionner. Je me connecte, ça marche à nouveau. P>
Quelqu'un a-t-il eu le même problème? P>
5 Réponses :
Il y a une chose appelée Excel Services , qui est censé pouvoir exécuter Excel comme service utilisant SharePoint, ce qui lui permettrait de fonctionner sans surveillance avec personne connecté. P>
Salut Joel, merci pour la réponse! :) J'y pensais réellement à vous lorsque j'ai débogué cela, remarquant que Excel est plus difficile à automatiser que Word ou PowerPoint, nécessitant un utilisateur interactif connecté pour fonctionner. Vous savez probablement pourquoi, après avoir travaillé sur les internes. Je suis au courant des services MS Office fournis par SharePoint, mais malheureusement, je développe ce service pour un concurrent direct de SharePoint. ^ _ ^ Je posterai la solution que j'ai trouvée ci-dessous. Acclamations!
OK, je ne pouvais donc pas obtenir Excel de fonctionner sans un utilisateur interactif, aucune quantité de scandale DCOMCNFG ne le ferait. Donc, j'ai simplement configuré Autologin pour l'utilisateur Le service est exécuté sous (voir http://support.microsoft.com / kb / 315231 pour des instructions). P>
Cela a pour effet que sur le démarrage du serveur, cet utilisateur se connectera en tant que session de console interactive. Contrairement aux sessions RDP, ceci est permanent et rend Excel heureux. P>
Autres astuces pour les Âmes des Poors qui doivent faire quelque chose de similaire: P>
Voulez-vous dire effectuer les "autres astuces" que vous mentionnez simule avoir un utilisateur interactif toujours?
L'utilisation de la connexion automatique est un risque de sécurité. Comment pouvez-vous protéger votre serveur de cette manière?
J'ai eu cette question et j'ai constaté que la réponse est réellement dans la configuration J'ai dit ce qui suit pour résoudre le problème: p>
Vous devrez peut-être aller à l'onglet code> code> et assurez-vous que l'utilisateur que vous avez spécifié ci-dessus contient des autorisations appropriées. P>
Après cela, j'ai été capable de vous déconnecter du serveur tout en utilisant toujours les bibliothèques Excel Com Automation. P> DCOM. Code> P>
cet utilisateur CODE> LI>
Si le compte qui exécute Excel est administrateur, cela fonctionnera: P>
pour 64 bits (x64), créez ce dossier: C: \ Windows \ SYSWOW64 \ CONFIG \ SystemProfile \ Desktop Pour 32 bits (x86), créez ce dossier: C: \ Windows \ System32 \ Config \ SystemProfile \ Desktop Sinon pour résoudre ce problème, procédez comme suit: p>
côté serveur: p>
a) commutateur "utilisateur interactif" sur "cet utilisateur" strong>. p>
B) "Cet utilisateur" fonctionne uniquement après c) Attendez ... L'étape b) déclenche Windows pour créer automatiquement: p>
Remarque La définition de "utilisateur interactif" est de faire piggyBacked sur tout ce qui est connecté à l'utilisateur activé sur le serveur. Ainsi, l'échec de la mise en place de MS Office lorsqu'aucun utilisateur n'est actif sur le serveur. p>
I.e., Pour moi, la solution était un hybride des solutions déjà proposées. J'ai utilisé Office 2013 (X86) sur Win 2012R2. Mon problème était plutôt avec Word (pour utiliser Wordtopdf). P>
Détails pour l'étape B: p>
Détails pour l'étape C: P>