Снова Excel (winXP/win2000srv)

StUV

Rotaredom
Снова Excel (winXP/win2000srv)

трабл: на локалке дома все работает, залил на сервак - часть функций работает, а часть нет:

вот такое работает:
PHP:
$this->excel = new COM("Excel.Application");
$this->excel->sheetsinnewworkbook=1;
$this->excel->Workbooks->Add();
$this->excel->Workbooks[1]->Worksheets[1]->Name=$ws_name;
$this->ws = $this->excel->Workbooks[1]->Worksheets[1];
$this->ws->cells[$x][$y]->value = $data[$i][$j];
а вот такое - нет:
PHP:
$this->ws->pageSetup->orientation = $o;
$this->ws->pageSetup->LeftMargin = $this->excel->CentimetersToPoints($l);
etc...
выдает ошибки вида:
Warning: PropPut() failed: Ошибка.
Source: Microsoft Excel Description: Нельзя установить свойство Orientation класса PageSetup in ...\exws.inc.php on line 91

почему это может происходить ?
дома локально winXP
на серваке win2000srv

Всем спасибо
 

StUV

Rotaredom
так же ошибки возникают в локалке на win2000prof
может с правами как-то связано ?
(я пользователь с правами админа, но процесс excel запускается как system - причем, если процесс зависает, то в локалке на 2000проф я его могу убить только перезагрузкой компа, но на 2000срв в этом плане все ОК)
 

StUV

Rotaredom
+ в лог 2000срв пишутся 2 ошибки:
Сбой при запуске службы "Windows Installer" из-за ошибки
Системе не удается найти указанный путь.
и
Ошибка DCOM "Системе не удается найти указанный путь. " при попытке запуска службы MSIServer с аргументами "" для запуска сервера:
{000C101C-0000-0000-C000-000000000046}
 

StUV

Rotaredom
есть подозрение, что надо запустить dcomcnfg.exe и что-нить подправить...
кто знает/сталкивался - плиз, подскажите в чем трабл ?

любые мысли приветствуются
всем спасибо

зы:
т.е. фактически все операции связанные с вставкой/редактированием/форматированием данных в лист работают, а операции с форматом листа в целом - нет (изменение ориентации, полей, колонтитулов, ...)
 

MD

Guest
подобные ошибки нам выдавало при работе тож.
но было это под асп и иис.
первый раз решалось настройкой прав правильной.
второй раз оказалось просто, у юзера от которого заходил пользователь с веба (аля нободи в апаче) небыло до этого ни одного реального запуска экселя или ворда. а при первом запуске эти два придурка, спрашивают, "как подписываться будем?" - отсюда ошибка MSI Installer. собсна на этом вопросе все и повисало.

вообщем в обоих случаях помог EventViewer + поиск на гугле описания ошибки.
 

StUV

Rotaredom
MD
спасибо

переустановил msi, запустил пару служб - ошибок в логах сервера теперь нет, но сама проблема не решена

рою гугл =)
 

StUV

Rotaredom
Наконец-то - все палучилась =)

помогли следующие магические операции (все выполняется на сервере):

A. в dcomcnfg установил для excel полный доступ для юзеров SYSTEM

B. установил "фиктивный" порт и на него настроил такой же фиктивный принтер

C. настроил права на этот принтер для юзера SYSTEM таким образом:

This method requires you to modify the registry using the Registry Editor.

WARNING: Using Registry Editor incorrectly can cause serious, system-wide problems that may require you to reinstall Windows to correct them. Microsoft cannot guarantee that any problems resulting from the use of Registry Editor can be solved. Use this tool at your own risk.

1. Ensure that the user you are currently logged into on the server has the desired printers installed.
2. Launch the Registry Editor (Regedit.exe).
3. Select the following key:
HKEY_CURRENT_USER
\Software\Microsoft\Windows NT\Current Version\Devices


4. From the Registry menu, click Export Registry File.
5. In the File Name text box, type c:\Devices.reg.
6. Select the following key:
HKEY_CURRENT_USER
\Software\Microsoft\Windows NT\Current Version\PrinterPorts


7. From the Registry menu, click Export Registry File.
8. In the File Name text box, type c:\PrinterPorts.reg.
9. Select the following key:
HKEY_CURRENT_USER
\Software\Microsoft\Windows NT\Current Version\Windows


10. From the Registry menu, click Export Registry File.
11. In the File Name text box, type c:\Windows.reg.
12. From the Start button, select Run. Open Devices.reg in Notepad by typing Notepad Devices.reg in Run dialog box.
13. Replace the text HKEY_CURRENT_USER with HKEY_USERS\.DEFAULT
14. Save the file. Then import it into the registry by double-clicking the file in Windows Explorer.
15. Repeat steps 13 through 15 for PrinterPorts.reg and Windows.reg.

И это ВСЕ.

взято отсюда:
http://www.serverwatch.com/tutorials/article.php/1493501

и отсюда:
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q184/2/91.asp&NoWebContent=1

ЗЫ: гугл рулит :)
 
Сверху