اجازه دهید ClickOnce برای نصب چند برنامه منتشر شده از همان پروژه در همان محیط زیست (.NET نسخه چارچوب تنها)

صفحه به روز شده :
تاریخ ایجاد صفحه :

محیط بررسی عملیات

ویژوال استودیو
  • ویژوال استودیو 2022
.NET Framework
  • .NET Framework 4.8

محیط های مورد نیاز

چارچوب
  • فرم های ویندوز (.NET Framework) به طور کلی
  • WPF (.NET Framework) به طور کلی

در ابتدا

این نکته شرح می دهد که چگونه برای نصب ClickOnce منتشر شده متعدد از همان پروژه به طور جداگانه در همان محیط.

درباره روش انتشار نسخه های متعدد از همان پروژه در پیکربندی های مختلف

به عنوان مثال، حتی در همان پروژه، اگر محتویات پردازش بسته به پیکربندی ساخت تغییر کنند، ممکن است بخواهید به عنوان یک برنامه جداگانه منتشر کنید. این امر در نسخه .NET (Core) امکان پذیر است، اما نه در نسخه .NET Framework با ویژگی های استاندارد ویژوال استودیو.

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

شرایطی که بر اساس آن ClickOnce به عنوان برنامه های کاربردی جداگانه نصب می شود

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

من نیاز به این به نظر می رسد یک برنامه جداگانه است ، اما با توجه به مقاله مرجع ، پارامترهای زیر را شناسایی برنامه :

مرجع: (.NET) هنگامی که من راه اندازی برنامه پس از انتشار با ClickOnce، من دریافت می کنم که "شناسه قرار دادن اشتراک مطابقت ندارد"

  • نام کاربرد
  • نشانه کلید عمومی
  • فرهنگ
  • معماری پردازنده (برای مثال x86)

در این میان، من فکر می کنم که تغییر «فرهنگ» و «معماری پردازنده» نامطلوب است زیرا امکان نتایج پردازش ناخواسته وجود دارد.

من فکر می کنم که راهی برای تغییر "نام برنامه" وجود دارد، اصولاً توصیه نمی شود زیرا تنها یک نام می تواند به یک پروژه داده شود. این احتمال وجود دارد که تعاریف متعدد را می توان با ساخت پیکربندی و پارامترهای شرط در محتویات فایل پروژه، از آنجا که تنها یک UI را می توان در Visual Studio تنظیم کرد، کمی خطرناک است زیرا بسته به عملیات ممکن است بازنویسی شود.

بقیه "نشانه کلید عمومی" است، اما این یکی اجازه می دهد تا شما را به ایجاد گواهی های متعدد، از آنجا که می توان آن را به عنوان یک پارامتر در زمان انتشار ClickOnce مشخص شده است ، من می خواهم برای شناسایی برنامه با این زمان.

روش بررسی عملیات

از نقطه ایجاد پروژه تا جایی که آماده انتشار به عنوان یک فایل دسته ای است، همان نکات زیر است، بنابراین لطفا برای رویه تا آن نقطه به آن مراجعه کنید.

ایجاد گواهی

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

پس از ایجاد پروژه و ایجاد دسته ای برای انتشار، بازگشت به ویژوال استودیو. خواص پروژه را باز کنید و Sign را از منوی سمت چپ انتخاب کنید. یک چک برای "امضا آشکار ClickOnce" وجود دارد بنابراین آن را بررسی کنید.

حالا دو گواهی ایجاد کنید. این بار ما آن را بر روی این صفحه نمایش ایجاد کنید، اما ". pfx" فرمت فایل، هیچ مشکلی با ایجاد گواهی به وسیله های دیگر وجود دارد.

یک دکمه "ایجاد گواهی تست" در گوشه پایین سمت راست وجود دارد، بنابراین آن را کلیک کنید.

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

یک فایل گواهی (.pfx) برای پروژه شما تولید شده است. نام فایل تولید شده در اینجا ثابت است اما می تواند بعدا تغییر کند. به هر حال اعتبار گواهی آزمون ایجاد شده در اینجا یک سال است. پس از یک سال، شما نیاز به بازسازی یک گواهی جدید.

همان مراحل را دنبال کنید تا یکی دیگر ایجاد شود.

این بار، ما در ساخت Debug و ساخت انتشار منتشر خواهد شد، بنابراین ما نام را به یکی از روشن تغییر دهید.

اصلاح دسته ای

فایل دسته ای را که ایجاد کرده اید (.bat) در یک ویرایشگر متن باز کنید و موارد زیر را به پارامترهای msbuild اضافه کنید:

توضیحات
نام پارامتر مورد نیاز
ManifestKeyFile نام فایل (.pfx) گواهی. تعیین مسیر نسبت به یا مطلق از فایل پروژه.
ManifestCertificateThumbprint اثر انگشت گواهی آشکار. ارزشی که باید در آن قرار داده شود می تواند هر چیزی باشد، اما باید به هر وسیله ای در آن قرار داد.
نام محصول نام محصول. به نام نمایشی منوی شروع یا لیست برنامه ها تبدیل می شود.
نام ناشر اسم شرکت عمومي . این تبدیل به نام پوشه در هنگام سازماندهی برنامه ها در منوی شروع.

بر اساس موارد بالا، فایل پچ را به صورت زیر تغییر دهید.

ClickOnceDebug منتشر می کند.bat (به عنوان مثال)

call "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"
cd %~dp0
msbuild ClickOnceBuildConfiguration.sln /t:Publish /t:CopyPublishedApplication /p:Configuration=Debug /p:PublishUrl="publish\Debug\\" /p:InstallUrl="\\xxxxServer\publish_Debug\\" /p:ManifestKeyFile="ClickOnceMultipleInstallDebug.pfx" /p:ManifestCertificateThumbprint="Debug" /p:ProductName="CliclOnce テスト Debug システム" /p:PublisherName="Sorceryforce"

ClickOnceRelease Issue.bat (Example)

call "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"
cd %~dp0
msbuild ClickOnceBuildConfiguration.sln /t:Publish /t:CopyPublishedApplication /p:Configuration=Release /p:PublishUrl="publish\Release\\" /p:InstallUrl="\\xxxxServer\publish_Release\\" /p:ManifestKeyFile="ClickOnceMultipleInstallRelease.pfx" /p:ManifestCertificateThumbprint="Release" /p:ProductName="CliclOnce テスト Release システム" /p:PublisherName="Sorceryforce"

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

به هر حال، از آنجا ProductName که این بار دو برنامه در یک محیط نصب می شوند، پارامترها اضافه شده اند تا قابل تشخیص باشند. PublisherName به میل شما.

شماره

پس از ورودی، هر فایل دسته ای را اجرا کنید و آن را منتشر کنید.

اگر xxxx.application در فایلی است که منتشر کرده ایید، آن را در یک ویرایشگر متن باز کنید و مطمئن شوید که مقدار متفاوتیpublicKeyToken دارد.

نصب

پس از کپی کردن فایل های منتشر شده در پوشه عمومی ، اجرا کنید تا آنها را نصب کنید setup.exe .

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

اولین برنامه نصب و راه اندازی شد.

سعي ميکنم اون يکي رو نصب کنم

دیگری هم نصب و راه اندازی شد.

البته هر دو در یک زمان کار می کنند.

ProductName از آنجا که پیوست شد، به صورت جداگانه در منوی استارت نمایش داده می شود.

شما همچنین می توانید هر دو را در لیست برنامه ها ببینید.