Interop.Excel - chybně nastavená práva   otázka

ASP.NET WebForms

Chtěl bych poprosit o radu. Nedaří se mě nastavit práva tak, aby fungovala spolupráce ASP a Excelu.

Používám Microsoft.Office.Interop.Excel. Stránka po stisku tlačítka vytáhne data z SQL databáze a uloží je do Excelu, který nabídne ke stažení.

Při debugu mi vše funguje ok, ale pokud stránky vystavím prostřednictvím IIS, zobrazí prohlížeč chybu:

Server Error in '/' Application.

Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005.

Nastavoval jsem práva snad všude. Účtům „Network_service“, „local_service“, „IUSR_pocitac“, „IUSR“ jsem nastavil všechna práva v dcomcnfg -> component service -> computers -> My computer -> DCOM Config -> Microsoft Excel application -> Properties -> Security -> Lauch ... a Access.

V „tento počítač“ -> proprties -> security dostali full control. Zvlášť ještě plný přístup na C:\WEB - tam se nachází aplikace a na C:\ inetpub.

Jediné, co pomohlo, bylo připsání do web.config:

<identity impersonate="true" userName="usr_XXX" password="XXXX"/>

<authentication mode="Windows"/>

Kdy usr_XXX je administrátor.

Přiznám se, že se mi nechce nechávat ve web.config uložené administrátorské heslo a myslím si, že to musí jít vyřešit nějak elegantněji.

Není rozdíl, zda se připojuji z prohlížeče lokálně (pod lokálním adm. účtem), nebo z jiného PC pod běžným doménovým uživatelem.

Nevěděl by prosím někdo, jak nastavit práva? Předem velice děkuji za jakoukoliv odpověď.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dobrý den, zkuste se mrknout sem http://www.computerperformance.co.uk/Log...

je tam popsáno co kde nastavit

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Děkuji moc za radu, pomohlo to - ještě bych ale poprosil o další radu.

Nastavil jsem následující:

ve web.config:

ponechal jsem: <authentication mode="Windows"/>

odstranil jsem: <identity impersonate="true"/>

Start -> Control Panel -> Administrative Tools -> Local Security Policy -> Security -> Local Policies -> Security Options:

DCOM: Machine Access Restrictions - Add Network Service with full rights options set.

DCOM: Machine Launch Restrictions - Add Network Service with full rights options set.

DCOM Configuration:

Console Root -> Component Services -> Computers -> My Computer -> Properties -> COM Security -> Launch and Activation Restrictions - Add Network Service with full rights options set.

Divné je, že musím nastavit default nastavení pro všechny komponenty, když ta samá práva přidám jen “Microsoft Excel Application”, tak to nefunguje. Nevíte někdo proč?

Po přidání těchto práv nahlásí stránka chybu: “Aplikace Microsoft Office Excel nemůže otevřít nebo uložit žádné další dokumenty z důvodu nedostatku dostupné paměti nebo místa na disku.”

To se dá odstranit přidáním práv pro “ Network Service ” na složku “C:\Windows\SysWOW64\config\systemprofile”.

To mi přijde hodně divné, nejde nějak přemluvit Excel, aby si údaje jako “poslední otevřený soubor”, možná dočasný soubor a podobné ukládat do normálního tempu nebo na nějaké rozumné místo?

Předem moc děkuji za odpověď.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback