Monday, April 23, 2007

Using deadlines to install Windows updates on unattended servers

WSUS is a great tool to distribute and install Microsoft Updates. As long as the administrator approves the updates, an "Updates are ready" notification will pop up on each user's screen, and the users will be prompted to proceed with installing the updates.

But what about unattended servers? No-one ever logs into their consoles and thus there's nobody to install the updates. Having an administrator log in to each server to install updates is just too tedious. Luckily, this isn't necessary. Using deadlines, one can have the updates install on unattended servers automatically. Here's how I do it:

  1. I've created a computer group in WSUS called "Servers" and added all servers to it.
  2. Whenever I approve an update, I make a separate approval for the "Server" group with a deadline.
  3. When the deadline expires, updates are installed automatically.
A thing to note here is that most of the time a server will reboot after the updates are installed. You don't want your servers to reboot in the middle of the day. Therefore, set the deadline to off-hours.

Always set the deadline more than 22 hours in the future. This is because Automatic Updates service is checking for new updates by default every 22 hours. Imagine what happens if during the day, say at 12am you set the deadline for 11pm today. By 11pm a server may not have checked for new updates yet, and it will not know a new update with a deadline is available. Next day, say at 10am it will check, find the update and see that the deadline is already past due. It will then immediately install the update and reboot right when your users are busy using it. To avoid such unfortunate scenario, allow sufficient time for Automatic Updates to find the update before the deadline expires.

Устанавливаем Lingvo 12

Наша компания приобрела электронный словарь Лингво 12. ABBYY Software предлагает для своего продукта удобную схему лицензирования - concurrent licenses. Покупая какое-то количество concurrent licenses, пользователь получает право запускать столько копий Лингво в сети одновременно, причем не имеет значения на каких компьютерах. Для нас это было очень удобно, т.е. из более ста сотрудников нашей компании, одновременно Лингво не понадобится больше, чем двадцати.

Технически работает эта схема лицензирования так. На сервере устанавливается Lingvo License Manager. В него вводятся и активируются все лицензии. Клиентские машины получают лицензию от сервера при запуске Лингво.

На бумаге все хорошо. На практике обнаружилось, что при запуске Лингво на одном компьютере License Manager показывает, что все concurrent лицензии заняты этим компьютером, и ни один другой компьютер запустить Лингво уже не может. Весьма неприятный сюрприз. В интернете обнаружили описание такой же проблемы (http://forum.lingvo.ru/actualthread.aspx?tid=72935) и совет обратиться в службу поддержки. Написали на support@abbyy.ua. Служба поддержки ответила, поинтересовалась номером нашей лицензии, и действительно прислала нам обновление на License Manager, исправляющее эту ошибку. Таким образом при доработке напильником система все-таки работает.

Несколько неприятной, однако, оказалась следующая новость в Лингво 12. В предыдущих версиях Lingvo был LvAgent, который сидел в System Tray и позволял вызвать Lingvo по Ctrl-Ins-Ins. При закрытии самого Lingvo LvAgent продолжал работать. Теперь все немного не так. По-прежнему LvAgent может запустить Lingvo, но теперь при закрытии Lingvo стандартными способами (кнопочка "x" или Alt-F4), сам Lingvo продолжает работать и, что особенно важно при concurrent лицензировании, занимать лицензию. Т.о. стоит запустить Lingvo, как он занимает лицензию даже после закрытия. Есть, правда, в меню пункт "Выход", который действительно закрывает Lingvo - но вместе с LvAgent.

В свете этого моя рекомендация такая - в настройках на вкладке "Общие" снять флажок "Отображать значок ABBYY Lingvo в области уведомлений на панели задач". В этом случае LvAgent не используется и закрытие Lingvo действительно его закрывает. Но вызов по Ctrl-Ins-Ins будет невозможен.

И наконец, странная история, приключившаяся с инсталляцией Лингво. После установки License Manager, по рекомендации производителя, инсталляция самого Лингво была помещена на сетевой диск. Вскоре несколько пользователей пожаловались, что они не могут установить Лингво себе на компьютер, используя эту сетевую инсталляцию: инсталлятор сообщает "Внутренняя ошибка 2349" и прекращает работать. Выяснилось, что по какой-то причине часть файлов из инсталляции получили дату изменения 01.01.1857 (как это произошло - загадка). При копировании этих файлов инсталлятор пытался дать установленным копиями такую же дату, что заканчивалось ошибкой. После исправления даты файлов проблема разрешилась.

Tuesday, April 10, 2007

Outlook 2003 update breaking Outlook 2007

I had Microsoft Office 2003 on my computer and decided to upgrade to Office 2007. Feeling a little wary about this upgrade, I decided to keep Office 2003 installed, since Office 2007 installer allowed for such option. However, as the installer informed me, Outlook 2007 could not coexist with Outlook 2003, so Outlook 2003 had to be removed. Alright, so I ended up having just one Outlook (2007) and two copies of Word and Excel (2003 and 2007).

A surprise came when I installed the next round of Microsoft updates (from our local WSUS server). An "Junk mail filter update for Outlook 2003" (KB931764) was offered to me, although I no longer had Outlook 2003. Not knowing what this means, I installed the update.

Right after that had an error in Outlook: "The File ExSec32.dll is incompatible with Microsoft Office Outlook. Install Outlook Again.", when opening any Outlook item. Apparently the "Junk mail filter update" reinstalled some of Outlook 2003 DLLs that were not compatible with Outlook 2007 (I guess this was the reason why they could not coexist in the first place).

I removed ExSec32.dll in Office11 folder, then get the same error about RTFHTML.dll. Removed it as well. Outlook items started to open, but after a few more errors, I resorted to reinstalling Outlook 2007.

Ever since then, each monthly update of Junk Mail Filter for Outlook 2003 was offered to me by Windows Updates, and I had to manually deselect it. Finally, when I uninstalled Office 2003, the problem stopped.

Sunday, April 08, 2007

GroupWise vs. Excel

A long time ago a had to install Novell GroupWise 7.0 on my computer. Right after that I faced a problem with Excel 2003. To my surprise, the Windows "Close" button in the top-right corner (aka the "x-button") became disabled. Furthermore, sometimes when I was closing a workbook with Ctrl-F4, Excel would show the "Save As" dialog, even though the document was already saved. I suspected all this was caused by GroupWise, but since the annoyance was minor I didn't feel like spending time to figure this out. The situation became worse when I upgraded to Excel 2007. Now, whenever I opened a Excel file by double-clicking on it, Excel would come up, but the document would not open in it. I had to wait a few seconds, sometimes up to a minute, before the document would open. Interestingly, if I started Excel and then opened a document from it, it would open immediately without the annoying delay. This time I could not ignore the problem. Investigation revealed an apparently GroupWise-related file in c:\Program Files\Microsoft Office\XLSTART\GWXL97.XLA. I don't know what GroupWise wanted to do with Excel, but whatever it is, it is incompatible with Excel 2007 (the filename suggests it was developed for Excel 97). Removing the file resolved the problem.