Я не знаю специфику вашей ситуации, поэтому эта первая идея может быть неосуществимой, но я подумал, что я бы выдвинул ее как идею на тот случай, если вы не подумали об этом.
Не могли бы вы сделать отчеты в ASP.Net или SQL Server Reporting Services, и чтобы приложение Windows открывало отчеты с помощью вызова System.Diagnostoc.Process или с помощью одной из форм иметь элемент управления WebBrowser?
Одно из приложений, которое я сделал, дало конечным пользователям большую гибкость в изменении критериев отчета. В этой ситуации они хотели, чтобы все отчеты выглядели одинаково, но для отчетов, основанных на разных критериях, я в итоге предоставил им форму в Win App для самостоятельного построения критериев, как при использовании Query Designer для SQL Server. .
Службы отчетов SQL Server также предоставляют конечным пользователям некоторую гибкость. Там участвуют некоторые тренинги, но если они сейчас создают отчеты, я не думаю, что кривая обучения очень крутая.
Совершенно иным способом, более близким к тому, что вы просили, одним из быстрых и грязных обходных путей, с которым мы столкнулись в подобной ситуации, было сохранение отчетов где-нибудь на веб-сервере, чтобы обычные пользователи открывали их через http Это означает, что они не могли сохранить их на сервере. Редакторы отчетов, с другой стороны, получили права на репорты на веб-сервере через общий файловый ресурс. Они могут открыть этот общий доступ и отредактировать отчеты, а затем сохранить их в общей папке. В следующий раз, когда пользователь откроет отчет, будь то через http или общий метод, он получит последнюю версию.