هل يمكنني إنشاء رمز سطح المكتب لتطبيق ClickOnce؟

StackOverflow https://stackoverflow.com/questions/152188

  •  02-07-2019
  •  | 
  •  

سؤال

لقد قرأت في بعض منشورات ClickOnce أن ClickOnce لا يسمح لك بإنشاء رمز سطح المكتب لتطبيقك.هل هناك أي طريقة للتغلب على هذه؟

هل كانت مفيدة؟

المحلول

في Visual Studio 2005، انقر مرة واحدة ليس لديه القدرة على إنشاء رمز سطح المكتب، ولكنه متوفر الآن في Visual Studio 2008 SP1.في Visual Studio 2005، يمكنك استخدام التعليمة البرمجية التالية لإنشاء رمز سطح المكتب لك عند بدء تشغيل التطبيق.

لقد استخدمت هذا الرمز في عدة مشاريع لمدة شهرين الآن دون أي مشكلة.يجب أن أقول إن جميع تطبيقاتي قد تم نشرها عبر شبكة إنترانت في بيئة خاضعة للرقابة.وأيضًا، لا تتم إزالة الرمز عند إلغاء تثبيت التطبيق.يقوم هذا الرمز بإنشاء اختصار للاختصار الموجود في قائمة البداية الذي ينشئه ClickOnce.

private void CreateDesktopIcon()
{
    ApplicationDeployment ad = ApplicationDeployment.CurrentDeployment;

        if (ad.IsFirstRun)
        {
            Assembly assembly = Assembly.GetEntryAssembly();
            string company = string.Empty;
            string description = string.Empty;

            if (Attribute.IsDefined(assembly, typeof(AssemblyCompanyAttribute)))
            {
                AssemblyCompanyAttribute ascompany =
                  (AssemblyCompanyAttribute)Attribute.GetCustomAttribute(
                    assembly, typeof(AssemblyCompanyAttribute));

                company = ascompany.Company;
            }
            if (Attribute.IsDefined(assembly, typeof(AssemblyDescriptionAttribute)))
            {
                AssemblyDescriptionAttribute asdescription =
                  (AssemblyDescriptionAttribute)Attribute.GetCustomAttribute(
                    assembly, typeof(AssemblyDescriptionAttribute));

                description = asdescription.Description;
            }
            if (!string.IsNullOrEmpty(company))
            {
                string desktopPath = string.Empty;
                desktopPath = string.Concat(
                                Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
                                "\\",
                                description,
                                ".appref-ms");

                string shortcutName = string.Empty;
                shortcutName = string.Concat(
                                 Environment.GetFolderPath(Environment.SpecialFolder.Programs),
                                 "\\",
                                 company,
                                 "\\",
                                 description,
                                 ".appref-ms");

                System.IO.File.Copy(shortcutName, desktopPath, true);
            }
        }
    }
}

نصائح أخرى

يبدو أن هناك طريقة لوضع رمز على سطح المكتب في ClickOnce.

  1. قم بالترقية إلى Visual Studio 2008 SP 1، وسيتم وضع رمز على خانة الاختيار على سطح المكتب في صفحة الخيارات في قسم النشر في نافذة خصائص المشروع.
  2. الخيار الثاني هو إضافة تعليمات برمجية إلى تطبيقك تقوم بنسخ الاختصار إلى سطح المكتب عند التشغيل الأول للتطبيق.راجع مشاركة المدونة كيفية إضافة اختصار سطح المكتب إلى ClickOnce Deployment Application.

يمكن أن تكون أيقونة سطح المكتب بمثابة اختصار للملف .application ملف.قم بتثبيت هذا كأحد الأشياء الأولى التي يقوم بها تطبيقك.

في Visual Studio 2017 و2019، يمكنك القيام بما يلي:

انتقل إلى خصائص المشروع -> النشر -> البيانات وحدد الخيار إنشاء اختصار سطح المكتب

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top