آموزش نصب افزونه‌ی ویراستیار روی آفیس 2016 و 2019 - آموزش ساخت وصله


فایل وصله برای ویراستیار نسخه 3.5: لینک اصلی، لینک کمکی، لینک VirusTotal

فایل وصله برای ویراستیار نسخه 4 بتا: لینک اصلی، لینک کمکی، لینک VirusTotal

برای نحوه‌ی نصب ویراستیار روی آفیس 2016 و 2019 به فایل readme.txt داخل فایل بالا مراجعه فرمایید


اگر مشکلی بود چه؟

خوب توی این حالت، اول باید بفهمیم مشکل از کجاست. باید دست به آچار بشیم و در حد 10 دقیقه زمان بزاریم. Word بطور پیش فرض خطاهایی که اتفاق می افتند رو نمایش نمیده و پنهانشون میکنه، اول باید یک کاری بکنیم که پیغام خطا رو نمایش بده و پنهان نکنه، برای این کار باید

1- یک متغیر محلی بسازیم

2- افزونه رو داخل Word فعال کنیم

1- ساخت متغیر محلی

خوب اول باید یک متغیر محلی ویندوز (Environment Variable) بسازیم با نام VSTO_SUPPRESSDISPLAYALERTS و مقدار 0 تا آفیس خطایی که ایجاد میشه رو به ما نشون بده و پنهانش نکنه. ساخت متغیر محلی توی هر نسخه از ویندوز متفاوته، من از طریق استارت منو اینطوری انجام دادم:

VSTO_SUPPRESSDISPLAYALERTS متغیر محلی
VSTO_SUPPRESSDISPLAYALERTS متغیر محلی

2- فعال کردن افزونه در Word

فعال کردن افزونه در ورد
فعال کردن افزونه در ورد


بعد از فعال کردن افزونه دو حالت ممکنه پیش بیاد، یا افزونه بدون مشکل فعال میشه و در زبانه های بالای ورد نمایش داده میشه که کار تمام هست و مشکلی نیست، و یا یک پیغام خطا نشون داده میشه که این شکلی هست:

پیغام خطای لود کردن افزونه
پیغام خطای لود کردن افزونه


اگر پیغام خطایی نشون داده شد می‌تونید Details اون رو در قسمت نظرهای همین نوشته ارسال کنید، شاید قابل حل باشه.



ویراستیار یک افزونه ی بسیار کارا برای Microsoft Word توسط یک گروه ایرانی باحال نوشته شده هست. عمده استفاده ای که من ازش میکنم و قبلا کردم این هست که غلط های املایی توی Word رو میگیره و خلاصه همونطور که از اسمش ویراستیار بر میاد یک کمک ویراستار هست برای من. منتهای مراتب این نرم افزار حدود 5 ساله که به روز رسانی نشده و آخرین نسخه اش برای Office 2013 هست و طبق توضیحات رسمی‌اش باید روی افیس 2010 و بالاتر اجرا بشه، ولی ورد 2013 اخرین نسخه ای هست که این افزونه روش اجرا میشه و در ادامه خواهیم دید که چرا روی ورد 2016 اجرا نمیشه. پیش خودم میگفتم چقدر حیف که برای استفاده از این افزونه مجبورم ورد 2013 رو به جای 2016 روی رایانه ام نصب کنم. امروز بعد از صرف چندین ساعت وقت و توان توانستم روی آفیس 2016 نصبش کنم و روی 2019 هم جواب میده، سعی میکنم با جزییات راهی که رفتم رو بگم. این متن دو بخش داره، کار سخت و کار راحت که جفتش به اجرای برنامه روی آفیس 2016 و 2019 ختم میشه منتها راه راحت واسه کسایی هست که حال راه سخت رو ندارن و البته به نویسنده هم اعتماد دارن چون یکی دوتا فایل رو باید بارگیری کنن >:)~ (این یک خنده ی شیطنت آمیز با ریش بزی هست و اسکلت ماهی یا گل نیست) . ولی راه سخت دیگه این مشکلات رو نداره و نیازی به دانلود فایلی که ندونید توش چیه، نیست. میشه یک بار فایلها رو اماده کنید و مثل من هر بار که ویندوز رو عوض میکنید از همون فایلها استفاده کنید، چون من معمولا تند تند ویندوز عوض میکنم.

برنامه ی ویراستیار
برنامه ی ویراستیار


در ضمن توضیحات رو کمی مفصل مینویسم که دوستانی هم که کمتر آشنایی دارن متوجه بشن، اگر سرتون رو درد میاره به برزگی خودتون ببخشید. اول راه سخت رو میگیم، بعد راه راحت

================ راه سخت =================

خوب اول باید ویراستیار نسخه 4 بتا رو بارگیری کنیم. این آدرس الان کار میکنه:

https://sourceforge.net/projects/virastyar/files/Virastyar/4.0%20Beta/Virastyar%204%20Beta.zip/download

ادرس یک فایل فشرده zip هست که توش فایل نصب و دو فایل PDF داره. یک فایل نصبی داره که بعد از اجرا اگر فقط آفیس 2016 رو داشته باشید این خطا رو خواهید دید.


خطای عدم وجود آفیس 2013
خطای عدم وجود آفیس 2013

دکمه OK رو که بزنیم خوشبختانه آخرش یک قسمت log داره که میتونیم ببینیمش:

خوب یک سر نخ پیدا کردیم. وقتی این فایل MSI رو میخوایم دستی اجرا کنیم همون خطا رو میده. حالا با یه ابزاری مثل LessMSI فایل رو باز میکنیم:


میبینیم که شرط اینکه برنامه نصب بشه اینه که در ادرس زیر در registry باید یک مقدار وجود داشته باشه. اطلاعات بیشتر

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\word\InstallRoot]

و اون مقدار هم نامش باید path باشه، خوب بصورت دستی درستش میکنیم:

و فایل رو دوباره اجرا میکنیم. نصاب برنامه گول خورد و حالا فکر میکنه که ما آفیس 2013 داریم :) و برنامه رو نصب میکنه. وقتی کار نصب برنامه تموم شد میریم Word 2016 رو باز میکنیم و میبینیم که یک خطا میده:

ممکنه این خطا رو اصلا نبینیم و معنیش این هست که کلا ورد سعی نکرده Add in رو لود کنه. باید از قسمت مربوطه اضافه اش کنیم:




حالا باید چکار کنیم؟ خوشبختانه این برنامه یک Log داره و نزدیکی همون فایل msi هم هست. این لاگ در این ادرس نوشته میشه (مستقیما در پنجره ی run قابل اجرا هست)

%AppData%\Virastyar\Log

وقتی لاگ رو باز کنیم میبینیم که اخرین مشکل به چه دلیلی بوده:



<ExceptionInfo>System.NotSupportedException: Specified method is not supported.

at VirastyarWordAddin.SettingsHelper.GetOfficeVersion()

at VirastyarWordAddin.SettingsHelper.GetVirastyarTemplateName()

at VirastyarWordAddin.ThisAddIn.LoadAddinTemplate(Boolean& needsReset)

at VirastyarWordAddin.ThisAddIn.<ThisAddIn_Startup>b__3()</ExceptionInfo>



یک استثنا NotSupportedException پرتاب شده که در بالای call stack این هست:

VirastyarWordAddin.SettingsHelper.GetOfficeVersion()

خوب ظاهرا برنامه با زبان سی شارپ نوشته شده و میتونیم بریم اینجا ببینیم چه خبره. با یک برنامه مثل DnSpy میشه این کار رو کرد. محل نصب فایل اینجا هست:

C:\Program Files (x86)\Virastyar\Add-in

خوب وقتی بریم سراغ تابع مربوطه در فایل VirastyarWordAddin.dll خواهیم دید:

dnspy
dnspy

کاری که متد انجام میده این هست: ورژن آفیس که یک مقدار رشته ای (string) هست رو اول چک میکنه ببینه ایا برابر "11.0" هست؟ اگر بود یک مقدار بر میگردونه وگرنه با "12.0" چک میکنه و همینطور تا "15.0" اگر "15.0" هم نبود خطا رو ایجاد میکنه:

throw new NotSupportedException();

و در همین جاست که اجرای برنامه متوقف میشه و اون پیغام خطا رو میبینیم. خوب ما چکار میتونیم بکنیم، خوشبختانه برنامه ی DnSpy به ما اجازه ادیت سورس کد رو میده !!!! واسه همینه میگن همیشه باید سورس کد دات نت رو Obfuscate کنید و بدید دست کاربر که همینطوری دست نبره توی سورس. البته این برنامه کد باز یا open source هست و ما از نظر قانونی برای این کار مشکلی نداریم. خوب برای اعمال کمترین تغییر توی فایل میریم به نمای مشاهده ی کد IL، روی صفحه راست کلیک میکنیم Edit IL Instruction رو انتخاب میکنیم، همونطور که میدونید کد سی شارپ به یک کد سطح پایین تر بنام IL یا Intermediate Language تبدیل میشه. خلاصه حالا میخوایم یه کاری کنیم که این خطا ایجاد نشه. احتمالا از مقدار برگشتی از این تابع استفاده ی خاصی نمیشه و اگر اشتباه باشه در برنامه خطایی ایجاد نمیشه. فقط احتمالا یک جا نسخه ی آفیس اشتباهی به کاربر نمایش داده میشه که مشکلی نیست (اینتطوری هم نبود، لطفا به اخر نوشته رجوع کنید) برای ما. مثلا میتونیم سورس رو ویرایش کنیم و کلا بزاریم در هر حال مقدار OfficeVersions.Office2013 رو برگردونه. ولی خوب میخوایم تغییرات کمی رو اعمال کنیم. این مرحله یکم زمان برد و نتیجه رو برای شما مینویسم. بعنوان یک راه حل دم دست در خط 21 اگر مقدار "15.0" به "0000" تغییر پیدا کنه و همچنین عملگر =! به == تغییر پیدا کنه اون وقت هیچ وقت استثنا پرتاب نمیشه و میشه امیدوار بود که کمترین تغییر رو در فایل داده باشیم. چون نسخه ی آفیس که هیچ وقت 0000 نیست. و سایز فایل در نهایت تغییری نمیکنه چون طول "15.0" و "0000" برابر هست. خوب یک راست کلیک میکنیم و میریم به قسمت Edit IL Intrusctions:

خوب در Index 53 (آفست 006F) میبینیم که آپ کد brtrue.s هست. اگر با آپ کد و اسمبلی کمی آشنایی داشته باشید خوب متوجه میشید. این آپ کد رو اگر تبدیلش بکنیم به brfalse.s اونوقت عملگر =! رو که بالاتر گفتم تبدیل کردیم به ==. خوب روش کلیک میکنیم و brfalse.s رو انتخاب میکنیم (دوتا بالاتره توی لیست) :

اینطوری عملگر هم تغییر پیدا کرد. برای تغییر "15.0" به "0000" دوباره میریم به قسمت Edit IL Instructions و حالا بجای مقدار 15.0در ایندکس 45 (آفست 005d) چهار تا صفر وارد میکنیم و بر میگردیم به نمایش کد سی شارپ:



ظاهرا همه چیز همونطوری که میخواستیم شده. حالال از منوی File گزینه ی Save Module روی همون فایل اولیه ذخیره اش میکنیم (اگر ارور داد مشکل UAC هست و برنامه ی DnSpy باید بعنوان admin اجرا بشه). خوب بریم امتحان کنیم ببینیم افزونه بدون مشکل اجرا میشه یا نه. ورد رو اجرا میکنیم و از این مسیر میریم افزونه رو فعال میکنیم:




میبینیم که افزونه فعال نمیشه (طبیعتا به خاطر وجود خطا هست) و هیچ پیغام خطایی هم نشون داده نمیشه. خوب این خوب نیست چون باید خطا رو بفهمیم تا بتونیم تصحیحش کنیم. بعد از کمی جستجو توی اینترنت میبینیم که باید یک متغیر محلی ویندوز (Environment Variable) بسازیم با نام VSTO_SUPPRESSDISPLAYALERTS و مقدار 0 تا آفیس خطایی که ایجاد میشه رو به ما نشون بده و پنهانش نکنه:

ساخت متغیر محیطی ویندوز
ساخت متغیر محیطی ویندوز

خوب حالا دوباره میریم ورد رو باز میکنیم و از منوی Options افزونه ی ویراستیار رو فعال میکنیم، اینجا پیغام خطا نشون داده میشه



این پیغام خطا مربوط به امضا دیجیتال تولید کننده نرم افزار هست. چون ما فایل dll رو ادیت کردیم، و قبل از ادیت ما بصورت دیجیتالی امضا شده بوده حالا دیگه اون امضای قدیمی قابل استفاده نیست (برای اطلاعات بیشتر در مورد امضای دیجیتالی جستجو کنید). ما تازه سعی کردیم حداقل تغییرات رو بدیم، ولی حتی اگر یک بیت هم تغییر میکرد همین اتفاق میوفتاد. حالا باید اسمبلی رو دوباره امضا کنیم. من چون ویژوال استودیو روی کامپیوترم نصب بود، اول ویژوال استودیو رو Run as Administrator میکنم. بعد از صفحه ی اصلی منوی Tools زیر منوی Command Line و مورد Developer Command Prompt یک صفحه ی cmd باز میکنم. حالا با دستور cd (مخفف change directory) میرم به ادرسی که ویراستیار نصب شده:

cd "C:\Program Files (x86)\Virastyar\Add-in"

دقت داشته باشید که اگر cmd رو مستقیما باز کنید این دستوراتی که در ادامه میزنیم رو نخواهد شناخت ولی command promptِ این ویژوال استودیو مخصوص همین کار هست. خوب حالا اول اصالت امضای فایل رو چک میکنیم:

sn.exe -v VirastyarWordAddin.dll


خوب بیخود نبود که اینطوری شد. حالا با کمی جستجو توی اینترنت میبینیم که چطور میشه یک اسمبلی دات نت رو (دوباره) امضا کرد. توی این پست نوشته:

If the original assembly is not so marked, then you can disassemble it with ildasm.exe, then re-asssemble it with ilasm.exe and specify the /key argument. References: [1] [2].

Example:

> ildasm /all /out=MYASSEMBLY.il MYASSEMBLY.dll
> ilasm /dll /key=key.snk MYASSEMBLY.il

البته نرم افزراهای اماده هم هست بنام strong name resigner که این دردسر ها رو هم نداره. به هر حال حالا ما اول یک پوشه بنام temp در همون محل نصب میسازیم، فایل VirastyarWordAddin.dll رو به داخلش کپی میکنیم، با دستور cd میریم به پوشه و با این دستور فایل dll رو تبدیل به netmodule میکنیم:

> cd temp

> ildasm /all /out=VirastyarWordAddin.il VirastyarWordAddin.dll

اگر برای شما پیغام Unable to open 'VirastyarWordAddin.il' for output. رو داد احتمالا برای UAC (User Access-Account Control) هست. پس فایل رو ببرید به یه فولدر که این خطا رو نده مثل c:\temp .

حالا با اجرای دستور

> ildasm /all /out=VirastyarWordAddin.il VirastyarWordAddin.dll

بعد از اجرا کلی فایل توی فولدر temp ساخته میشه:


حالا باید یک فایل snk رندوم بسازیم برای امضا، (بعد از جستجو میرسیم به این)

sn -k keyPair.snk

این دستور یک فایل رندوم snk درست میکنه و میزاره توی فایل keyPair.snk. حالا باید دوباره امضا کنیم:

ilasm /dll /key=keyPair.snk VirastyarWordAddin.il

بعد از انجام کار این دستور فایل VirastyarWordAddin.dll حالا دارای امضای معتبر هست. یک بار دیگه امتحان میکنیم



خداروشکر درست شده و مثل قبل خطا نمیده.

حالا باید فایل VirastyarWordAddin.vsto رو ویرایش کنیم، دقت داشته باشید برای انجام این کار احتمالا نیاز به دسترسی Admin هست، پس notepad رو run as administrator میکنیم و فایل زیر رو بازش میکنیم

C:\Program Files (x86)\Virastyar\Add-in\VirastyarWordAddin.vsto

دقت داشته باشید که فایل قدیمی و اصلی دارای public token key این هست: publicKeyToken="ff2cf56caa65669b"

و بعد از تغییر public tokenش تغییر میکنه و اینی که ما درست کردیم این هست (برای شما متفاوت خواهد بود چون کلیدمون رو رندوم درست کردیم):

یعنی public token جدید همونی هست که با 634b8 شروع میشه. حالا فایل رو از پوشه temp منتقل میکنیم به محل اصلیش




حالا باید فایل vsto رو تغییر بدیم این تغییرات رو توش اعمال کنیم:

چهارجا رو باید تغییر بدیم، سه تا مربوط به public token هست و یکی هم DigestValue هست بعلاوه حجم فایل جدید هم تغییر کرده. اول از DigestValue شروع میکنیم، توی خط 17 فایل vsto نوشته شده که Hash فایل VirastyarWordAddin.dll برابر OHrMWAYBpQyS3bztqdIfrw/b79Q= هست که ظاهرا این مقدار بصورت base64 نشون داده میشه. الگوریتم هم در خط 16 نوشته شده: sha1. بعد از تغییر حتما hash تغییر کرده و ما باید هش جدید رو بگیریم و تبدیل به Base64 کنیم و جای قبلی بزاریم. من چون روی کامپیوترم برنامه ی 7zip رو دارم سریع هش فایل رو حساب میکنم که این میشه

d3a3e56c75e6eec7d27586e6925bee30707098eb

خروجی در فرمت هگزادسیمال هست، باید تبدیل بشه به base64، پس از جستجو به این ادرس میرسیم:

https://base64.guru/converter/encode/hex

حالا Hash فایل جدید رو تبدیل به base64 میکنیم و در خط 17 جایگذاری میکنیم:

<dsig:DigestValue>06PlbHXm7sfSdYbmklvuMHBwmOs=</dsig:DigestValue>

و همچنین publicKeyToken قبلی که ff2cf56caa65669b بوده رو با نسخه جدیدش که ساختیم و روی کامپیوتر من "634b8f05897f26c9" هست جایگزین میکنیم. در سه جای فایل این رو باید جایگزین کنیم، یکی خط 3 یکی خط 11 و یکی هم در خط آخر (خط آخر چون طولانی هست خودش چند خط نشون داده میشه).

و در نهایت تغییرات رو ذخیره میکنیم همچنین خط 270 و 271 از فایل VirastyarWordAddin.dll.manifest باید تغییر کنه به مشخصات جدید:

<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="VirastyarWordAddin.dll" size="4462592">

<assemblyIdentity name="VirastyarWordAddin" version="4.0.0.32694" publicKeyToken="634b8f05897f26c9" language="neutral" processorArchitecture="msil" />

و خط آخر فایل هم همینطور، در اصل سایز و توکن فایل dll تغییر کرده و باید در همه جا منعکس بشه وگرنه خطا میگیره! حالا Word رو که باز کنیم باز هم خطا میگیریم که اینیکی در مورد عدم تطابق manifest فایل با خود فایله؟! یعنی چی؟ خوب خدمم نفهمیدم :) یعنی چیزی که من فهمیدم اینه هنوز هم چند تا تغییر باید با notepad++ p روی فایل بدیم، ظاهرا Public Token قدیمی توی فایل dll هم نوشته شده، و خوشبختانه فرمت تکس هم هستن! پس میزنیم به سیم آخر و فایل dll رو توی notepad++ باز میکنیم و توکن قبلی رو با توکن جدید که هر دو فرمت text هستن جایگزین کنیم و دوباره فایل رو امضا کنیم و تمام:

ویرایش: بعد از انتشار این نوشته بعضی دوستان گفتند که همچنان مشکل دارند و افزونه اجرا نمیشه و دلیلش امضا ی فایل vsto هست، خود فایل vsto یک فایل xml هست و میتونیم کلا امضاش رو حذف کنیم، فقط باید تگ های مربوطه از فایل پاک بشن، که در فایلی که ابتدای این پست بعنوان راه حل دوم گذاشته شده این کار انجام شده

افزونه ی ویراستیار بدون مشکل خاص روی ورد 2016 اجرا خواهد شد. احتمالا ملزومات و runtime ورد 2019 با 2016 تفاوتی نداشته باشه و روی ورد 2019 هم بدون مشکل اجرا بشه، ولی من تست نکردم. ممکنه بعضی قابلیت های برنامه درست کار نکنه روی ورد 2016، برای نتیجه ی تست روی ورد 2016 لطفا به انتهای همین نوشته مراجعه کنید.

خوب بطور خلاصه ما سه تا کار کردیم، یکی اینکه با تغییر رجیستری نصاب برنامه رو گول زدیم که ما ورد 2013 داریم و گول هم خورد و ویراستیار نصب شد. بعد فایل VirastyarWordAddin.dll رو دیکامپایل و ویراش کردیم، بعد فایل رو دوباره امضا کردیم و در نهایت فایل VirastyarWordAddin.vsto و VirastyarWordAddin.dll.manifest رو با ویرایشگر متنی مثل نوت پد پلاس پلاس (که خیلی برنامه ی کارایی هست) ادیت کردیم و تمام. توی قسمت بعد فایلهای اماده هست که میتونید مستقیم دانلود کنید و نیازی به این کارهای سخت هم نیست. فقط دقت داشته باشید همونطور که من نوعی تونستم کد C# رو توی DLL ادیت کنم، میتونستم سورس یک ویرویس یا یک بد افزار رو توی فایل بزارم و برای شما مشکل ساز بشه. برای همینه که همیشه باید در کرک کردن برنامه ها و حتی خود ویندوز بسیار زیاد دقت داشت چون ممکنه کرک ها الوده باشند. حتی المقدور از نسخه ی trial برنامه استفاده کنید و وقتی بعد از یک ماه منقضی یا expire شد از سریال استفاده کنید و در اخر اگر سریال هم نمیخورد از کرک استفاده کنید. خودم بارها دیده ام که کرک ها دارای تروجان و یا ویروس هستند. این قسمت در چند بخش نوشته شد ممکنه یک جاهاییش کم و کسری داشته باشه یا جا افتاده باشه که نگارنده سعی کرد این اتفاق نیافته.

======================= راه راحت ===============

خوب اگر قسمت بالا رو خونده باشید روند رو فهمیدید ولی یکبار دیگه توضیح میدم:

افزونه موقع نصب چک میکنه ببینه ایا Office 2013 یا 2010 یا 2007 یا 2003 روی رایانه نصب هست یا خیر، اگر نبود نصب رو متوقف میکنه و پیغام خطا میده و خارج میشه. پس باید نصاب رو گول بزنید تا فکر کنه افیس 2013 نصب هست. چطور؟ باید این ادرس در رجیستری ثبت بشه:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\word\InstallRoot]

"path"="c:\\temp"

در قدم بعد باید نسخه ی 4 بتا افزونه رو نصب کنیم و بعدش روی دو تا فایل VirastyarWordAddin.dll و VirastyarWordAddin.vsto تغییراتی اعمال کنیم تا موقع اجرا روی افیس 2016 خطا ندن و تمام. در بالا مفصلا در موردش صحبت شد و در این قسمت فایلهای آماده رو میزارم که بشه راحت دانلود کرد و استفاده کرد. روند به این صورت هست که ابتدا نسخه ی قبلی ویراستیار رو در صورت وجود پاک میکنیم. بعد این فایل رو دانلود میکنید:

http://us.cdn.persiangig.com/download/mcDncVg6FX/Virastyar-patch.zip/dl

6559c019166d54d3d7271157c775176590ae56c8cd0fcdc18eb98c89f9b1ceb7


داخلش چند تا فایله و یک فایل توضیحات Readme.txt،

- فایل patch.reg رو اجرا و اعمال میکنیم

- برنامه رو نصب میکنیم

- همه ی فایلها رو توی فولدر نصب C:\Program Files (x86)\Virastyar\Add-in کپی و جایگزین میکنیم
- ورد رو باز میکنیم، اگر افزونه در حال اجرا نبود از منوی Options باید بریم فعالش کنیم

این هم تصویر افزونه در ورد 2016

اجرا شدن افزونه ویراستیار در ورد 2016
اجرا شدن افزونه ویراستیار در ورد 2016

در آخر میخوام باز هم از تیم سازنده های این برنامه تشکر کنم که همچین برنامه ی باحالی رو اماده کردن به سفارش شوراع عالی اطلاع رسانی، و البته یک گله ی کوچک بابت اینکه این نرم افزار با مجوز نشر عمومی گنو در دسترس قرار گرفته (طبق محتویات پنجره ی زیر)

صحه تنظیمات ویراستیار
صحه تنظیمات ویراستیار

ولی سورس کد اون همزمان با انتشار هر نسخه منتشر نشده . اگر اشتباه نکنم لازمه ی انتشار با مجوز گنو این هست که به کاربری که استفاده میکنه سورس کد هم بتونه دسترسی پیدا کنه، و اگر سورس کد هم در دسترس بود دیگه احتمالا نیازی به این همه کارهایی که در بالا کردم نبود :)

همچنین امیدوارم با تغییر در فایلهای این برنامه حق و حقوق ناشر و تولید کننده های برنامه رو مشکلی ایجاد نکرده باشم، تنها هدفم اموزش ریزبینی و حل اینطور مسایل بود.

حالا به هر حال اگر این اموزش برای شما خواننده ی عزیز مفید بود، لطفا اگر ممکنه و دوست دارید یک صلوات یا یک حمد و سوره نصار روح رفتگان نویسنده آن کنید.


راه حل خیلی راحت هم درون فایل Readme داخل فایل Virstyar-patch.zip نوشته شده است.

اجرای افزونه ی ویراستیار در ورد 2016
اجرای افزونه ی ویراستیار در ورد 2016
اجرای افزونه ویراستیار در ورد 2019
اجرای افزونه ویراستیار در ورد 2019

نتیجه ی امتحان (test) روی آفیس 2016

امروز یک عدد فایل ورد کوچک را با این افزونه ویراستاری کردم، قسمت غلطهای املایی افزونه درست کار میکند ولی بعضی وقتها درست اسکرول نمیکند، مثلا وقتی یک غلط املایی جدید پیدا میکند خودکار نمیره روی اون غلط و باید کاربر با غلطک موش واره غلط رو پیدا کنه :)

پانوشت: ظاهرا سورس نسخه ی 2011 افزونه ی ویراستیار (نسخه های اول برنامه) در گیت هاب قرار گرفته و الان واقعا با GNU GPL همخوانی داره، ولی هنوز هم سورس نسخه های آخر ان در دسترس نیست.

پانوشت 2: این روش هم روی افیس 2016 و هم 2019 تست شده و کار کرد

پانوشت 3: سعی شد از عبارات فارسی استفاده بشه و انگلیسی ها به زبان انگلیسی و از عبارات فینگیلیش استفاده نشه، مثلا بجای اینستال از نصب استفاده شد، ولی خوب به هر حال ببخشید بعضی جاهاش از دستم در رفت یا بلد نبودم