вторник, 21 декабря 2010 г.

Автоматический вход в Team Exporer

Если ваша учетная запись отличается от учетной записи в Team Foundation Server, то придется каждый раз при открытии проекта вводить имя пользователя и пароль. Этого можно избежать, если заранее сохранить учетные данные в Windows, например, как описано здесь

http://social.msdn.microsoft.com/Forums/en-US/vstsstart/thread/73fee0bd-4a97-44e8-b68f-8b543db59515

В русском Windows 7 открываем панель управления -> Учетные записи пользователей -> Администрирование учетных записей. Далее нажимаем "Добавить учетные данные Windows". В поле "Адрес в Интернете или сети:" вводим адрес сервера TFS, в поля "Имя пользователя" и "Пароль" данные учетной записи TFS. Незабываем нажать ОК.

пятница, 3 декабря 2010 г.

Ошибка eGroupWare "Ваш сеанс не может быть удостоверен"

Лечение описано здесь http://turtle-bazon.blogspot.com/2010/07/solved-egroupware-lucid.html

Надо в файле /etc/php5/apache2/php.ini

request_order = "GP"

Заменить на:

request_order = "GPCS"

пятница, 19 ноября 2010 г.

Ошибка .NET Runtime version 2.0.50727.3615 - Fatal Execution Engine Error

При запуске Visual Studio 2008 SP1 возникает ошибка.

Тип события: Ошибка
Источник события: .NET Runtime
Категория события: Отсутствует
Код события: 1023
Дата: 19.11.2010
Время: 13:10:17
Пользователь: Н/Д
Компьютер: WWW01
Описание:
.NET Runtime version 2.0.50727.3615 - Fatal Execution Engine Error (7A0979AE) (80131506)



Для исправления необходимо установить обновление KB981574. Скачать его можно тут

http://thehotfixshare.net/board/index.php?autocom=downloads&showfile=12442

среда, 27 октября 2010 г.

Русские буквы при работе с консольными приложениями Oracle

Если не хочется переопределять ключ NLS_LANG в реестре, можно перед запуском приложения вполниь команду

set nls_lang=russian_cis.ru8pc866

среда, 15 сентября 2010 г.

Установка драйвера MSSQL для источника данных JasperServer

* Копируем драйвер в директорию \webapps\jasperserver\WEB-INF\lib
* Перезапускаем сервер Tomcat
* Создаем новый Data Source в поле Driver вписываем net.sourceforge.jtds.jdbc.Driver, в поле URL строку типа jdbc:jtds:://[:][/][;=[;...]] (подробнее см. http://jtds.sourceforge.net/faq.html#urlFormat)

понедельник, 16 августа 2010 г.

Монтирование нового диска на Linux

Хорошая пошаговая инструкция по подключению нового диска на Linux системах, работающих под VMWare.

http://www.matttopper.com/?p=25

Испльзовал для установки на CentOS 5.5

вторник, 15 июня 2010 г.

Использование отчетов .NET Reporting для печати объектов

Как правило внешний вид данных на форме отличается от того вида, в котором их необходимо вывести на печать, поэтому для формирования печатной страницы удобно использовать отчеты, например, входящие в состав .NET Framework 2.0, rdls файлы.
Программный вывод отчета описан в этой статье, но для вывода на печать оптимальнее всего получить отчет в формате EMF. Xml для описание экспорта будет выглядеть следующим образом:
<DeviceInfo>
<SimplePageHeaders>True</SimplePageHeaders>
<OutputFormat>EMF</OutputFormat>
</DeviceInfo>

Полный текст для получения результата отчета будет выглядеть следующим образом:

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Microsoft.Reporting.WinForms.LocalReport report = new Microsoft.Reporting.WinForms.LocalReport();
report.ReportPath = "Report1.rdlc";

string MimeType;
string Encoding;
string FileNameExt;
string[] streams;
Microsoft.Reporting.WinForms.Warning[] aWarn;

string deviceInfo =
"<DeviceInfo>" +
"<SimplePageHeaders>True</SimplePageHeaders>" +
"<OutputFormat>EMF</OutputFormat>" +
"</DeviceInfo>";

byte[] aReport = report.Render("IMAGE", deviceInfo, out MimeType, out Encoding, out FileNameExt, out streams, out aWarn);

MemoryStream memImage = new MemoryStream(aReport);
Image imgReport = Image.FromStream(memImage);

e.Graphics.DrawImage(imgReport, 0, 40);
}

Создание типизированного набора данных (Typed DataSet) для XML/XSD в VS 2008

Часть возникает задача привязки элементов формы к данным, размещенных в XML файле. Самым оптимальным способом является создание типизированного набора данных (Typed Dataset). Для его создания потребуется создать XSD схему для XML файла с данными.
  • Откройте XML файл с данными
  • В главном меню VC 2008 выберите пункт меню XML -> Create Schema
  • Сохраните полученный XSD файл
Данная схема представляет собой обычный файл без возможности привязки данных. Можно дополнить данный XSD файл элементами для связывания данных, например, описанным здесь методом.
  • В окне Solution Explorer выбираем XSD файл, но не открываем его
  • В свойстве Build Action выбираем Content
  • В свойство Custom Tool вписываем MSDataSetGenerator
После сохранения схема XSD появится в окне Data Sources, соответственно можно связывать и создавать связанные с данными элементы формы простым перетаскиванием.

понедельник, 31 мая 2010 г.

Стандартный Bootstrapper для WiX

Оригинал

Приложения, написанные на .NET Framework, зачастую требуют установки фреймворка как часть установочного процесса. Из-за зависимостей в установке .NET Framework его невозможно включить напрямую в установочный пакет приложения. Вместо этого можно использовать приложение для предварительной загрузки (bootstrapper). Это приложение сначала установит .NET Framework, затем запустит установку вашего приложения.
WiX не имеет собственного приложения-обертки, однако можно использовать приложением, поставляемым вместе с Visual Studio. Данная статья описывает, как изменить файл проекта WiX для создания приложения с предварительной установкой .NET Framework и Windows Installer 3.1. Аналогичные шаги необходимо выполнить для предварительной установки других приложений, таких как SQL Server Compact Edition или Visual Studio Tools для Office.

Шаг 1. Откройте ваш WiX проект для редактирования
Для редактирования файла-проекта в Visual Studio
Откройте проект в Visual Studio
В окне Solution Explorer в контекстном меню (правая кнопка мышки) проекта выберите пункт Unload project
В окне Solution Explorer в контекстном меню выберите Edit

Шаг 2. Добавление элементов для предварительной установки
В любом месте файла-проекта в секции вставьте

<ItemGroup>
<BootstrapperFile Include="Microsoft.Net.Framework.3.5">
<ProductName>.NET Framework 3.5</ProductName>
</BootstrapperFile>
<BootstrapperFile Include="Microsoft.Windows.Installer.3.1">
<ProductName>Windows Installer 3.1</ProductName>
</BootstrapperFile>
</ItemGroup>
Эти элементы будут использоваться в следующем шаге для того чтобы при создании приложения-обертки указать включаемые пакеты. В данном случае выбраны пакеты .NET Framework 3.5 and Windows Installer 3.1.

Шаг 3. Добавление задачи генерации приложения-обертки
В файле проекта WiX уберите комментарии комментируйте из блока <TargetName="AfterBuild"></Target> и замените его на

<Target Name="AfterBuild">
<GenerateBootstrapper ApplicationFile="$(TargetFileName)"
ApplicationName="My Application Name"
BootstrapperItems="@(BootstrapperFile)"
ComponentsLocation="Relative"
CopyComponents="True"
OutputPath="$(OutputPath)"
Path="C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\"/>
</Target>
Эта запись будет указывать MSBuild на генерацию приложения-обертки после успешной сборки проекта WiX. Атрибут ApplicationFile будет заменено на путь к установочному пакету после его сборки. ApplicationName будет указывать на имя приложения, которое будет показано в программе установки. Атрибут BootstrapperItems указывает на директорию с установочными пакетами, указанными в шаге 2. При значении атрибута ComponentsLocation равным Relative, пакеты для предварительной установки для инсталляции будут использовать пути относительно размещения основного пакета. Атрибут CopyComponents при значении true указывает на то, что необходимо скопировать компоненты для предварительной установки в директорию основного пакета. OutputPath показывает исходящую директорию для сборки приложения-обертки.
Атрибут Path указывает на расположение установочных пакетов на вашем компьютере. Для Visual Studio 2005 это будет C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages, для Visual Studio 2008 C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper

Шаг 4.
Соберите проект
Для этого в контекстном меню проекта выберите Reload project.
Соберите проект
После завершения сборки приложение для предварительной установки будет помещено рядом с установочным пакетом основного приложения.

Установка других пакетов
Другие пакеты могут быть включены описанным выше методом, необходимо только внести изменения в шаг 2. Более простым способом для настройки необходимых компонентов и включении их в установочный процесс является использование Bootstrapper Manifest Generator. Сохраненный файл этого приложения можно включить как текст в соответствующие записи проекта. Bootstrapper Manifest Geneator может использоваться также для создания собственных пакетов предварительной установки включаемые в приложение-обертку ClickOnce.

среда, 24 марта 2010 г.

Как скрыть ссылку "Просмотреть все содержимое узла" для простых пользователей

Часто владельцы узлов просят убрать ссылку “Просмотреть все содержимое узла», чтобы «не давать доступа к внутренностям портала». Данную задачу можно решить путем внесения изменений в текущую главную страницу (master).
Откройте в SharePoint Designer главную страницу, найдите серверный элемент

<Sharepoint:SPSecurityTrimmedControl runat="server" PermissionsString="ViewFormPages">
<div class="ms-quicklaunchheader"><SharePoint:SPLinkButton id="idNavLinkViewAll" runat="server" NavigateUrl="~site/_layouts/viewlsts.aspx" Text="<%$Resources:wss,quiklnch_allcontent%>" AccessKey="<%$Resources:wss,quiklnch_allcontent_AK%>"/></div>
</SharePoint:SPSecurityTrimmedControl>
</h3>

<Sharepoint:SPNavigationManager
id="QuickLaunchNavigationManager"
runat="server"
QuickLaunchControlId="QuickLaunchMenu"
ContainedControl="QuickLaunch"
EnableViewState="false">
<div>


Установите значение PermissionsString в ManageWeb, например.
<Sharepoint:SPSecurityTrimmedControl runat="server" PermissionsString="ManageWeb">

Данным способом можно скрывать другие элементы в зависимости отправ пользователей. Список возможных значений для PermissionsString можно найти на странице MSDN.