سؤال

لديّ تطبيق تم نشره ClickOnce أريد إطلاقه من VBScript ، على غرار تشغيل Microsoft Word في المثال التالي:

Dim word
Set word = CreateObject("Word.Application")
word.Visible = True

المشكلة هي أنني لا أعرف المعلمة التي يجب أن تنتقل إلى CreateObject وظيفة لإطلاق طلبي. أين أجد القائمة الرئيسية للتطبيقات المثبتة على جهاز الكمبيوتر الخاص بي/الاختصار للاتصال به لإطلاقها؟

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

المحلول

ClickOnce ببساطة غير مثبت بهذه الطريقة. لا تحتوي عادة على خطافات com (لـ CreateObject) ، ويتم تثبيتها في جزء معزول من ملف تعريف المستخدم (وليس ملف تعريف هذا الجهاز). ولا تنسى أنه يمكنك أيضًا الحصول على نسخ/إصدارات متعددة من نفس التطبيق في وقت واحد عبر ClickOnce (من مواقع مختلفة).

قد يكون خيار واحد (في 3.5/VS2008) هو استخدام الأشياء الجديدة لجمعيات الملفات ... قم بربط تطبيق ".foo" ، وإنشاء ملف .foo "وبدء تشغيله. التي يمكن أن تعمل. انظر إلى مربع الحوار "نشر => خيارات" في VS2008.

خلاف ذلك - في الأساس ، إذا كنت تريد هذا النوع من الاستخدام ، أظن أنك ستحتاج إلى استخدام MSI (أي مثبت منتظم ؛ لا تنقر على) لتسجيل تطبيقك كمكتبة COM (DLL). لاحظ أن .NET لا يصنع خادم COM جيد (EXE) - لذلك لا يقارن مباشرة بالكلمة. إذا كنت تريد خادم .NET COM ، فإن "المكونات المخدومة" هي أفضل رهان لك - ولكن هذه لا تميل إلى أن تكون كبيرة على واجهة المستخدم.

للحصول على معلومات ، فإن المنطقة المعزولة في مكان ما حول "٪ userprofile ٪ Local Settings Apps 2.0" ، ولكن هذا مخصص فقط حتى تتمكن من رؤيته .. لا تحاول تشغيله من هناك.

نصائح أخرى

شكرا للمعلومة. هذا جعلني أدرك أنه يمكنني استخدام .NET قابلة للتنفيذ بدلاً من VBScript لإطلاق طلبي.

    Dim program As New Process

    'Try to run a .Net click-once application
    Try
        Dim shortcut As String = Environment.GetFolderPath(Environment.SpecialFolder.StartMenu)
        shortcut = shortcut + "specific\shorctut\path\shortcut.appref-ms"
        program .StartInfo.FileName = lpsShortcut
        program .Start()
    Catch
        'If not go to the web site for a fresh install
        Try
            .Diagnostics.Process.Start("IExplore.exe", "http://url/program.application")
        Catch ex As Exception
            'Log or Email alert here...
        End Try
    End Try
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top