2010-05-10 17 views
6

Tôi cần triển khai dll COM của mình dưới dạng ứng dụng COM +. Tôi đã từng làm điều đó từ trình quản lý Dịch vụ Thành phần (dcomcnfg.exe). Nhưng yêu cầu của tôi là triển khai nó từ dòng lệnh. Có một lệnh để làm điều đó?COM + triển khai ứng dụng bằng cách sử dụng dòng lệnh

Cập nhật: Và cách gỡ cài đặt giống nhau?

Cảm ơn.

Trả lời

7

Here là một vài tập lệnh kết xuất cài đặt của ứng dụng COM + thành tệp XML, cũng như cài đặt ứng dụng từ tệp XML. Nó cung cấp cho tôi một khuôn khổ tốt để làm một cái gì đó tương tự như một trong khi trở lại. Nó chứa mã ví dụ về cách tạo và loại bỏ các ứng dụng COM + bằng cách sử dụng API quản trị COM +.

+2

Rất vui khi bạn tìm thấy các tập lệnh hữu ích Garett. –

+0

Xin chào. Chúng rất hữu ích. Công việc thực sự tuyệt vời. Thích đọc trang web của bạn trong những năm qua. – Garett

+0

Đối với những người trong chúng ta vẫn đang làm việc với COM + vào năm 2013 - FANTASTIC. Cảm ơn rất nhiều và Cảm ơn, Len. –

0

đoạn VBScript Điều này tạo ra một ứng dụng và cài đặt một thành phần:

Dim catalog 
Dim applications 
Dim application 
Set catalog = CreateObject("COMAdmin.COMAdminCatalog") 
Set applications = catalog.GetCollection("Applications") 
Call applications.Populate 
Set application = applications.Add() 


' ID is an arbitrary GUID, that you can create using uuidgen 
application.Value("ID") = "{da2d72e3-f402-4f98-a415-66d21dafc0a9}" 
application.Value("Name") = "SampleApp" 
application.Value("Activation") = 0' COMAdmin.COMAdminActivationOptions.COMAdminActivationLocal 
application.Value("ApplicationAccessChecksEnabled") = 0 'COMAdmin.COMAdminAccessChecksLevelOptions.COMAdminAccessChecksApplicationComponentLevel 
application.Value("Description") = "Sample Application" 
'application.Value("Identity") = "machine\administrator" 
'application.Value("Password") = "YourPassword" 
application.Value("RunForever") = True 

Call applications.SaveChanges 

catalog.InstallComponent "SampleApp", "C:\Documents and Settings\me\My Documents\Test\MyTestProj.dll", "", "" 


Set application = Nothing 
Set applications = Nothing 
Set catalog = Nothing 

này đang chạy trên Windows XP - hệ điều hành khác có thể có hành vi khác nhau. Và nó có vẻ khá là bình thường. Nếu nó không làm việc các lỗi thực sự mơ hồ và vô ích.

Để xóa tôi nghĩ bạn sẽ phải lặp qua các thành phần trong ứng dụng và xóa khỏi danh sách as per this example. Tôi nghĩ rằng một cách tiếp cận tương tự sẽ được yêu cầu để loại bỏ toàn bộ ứng dụng.

Tài liệu tham khảo

Xem Configurating COM+ cho dễ hiểu bài viết tốt (nhưng không có trong kịch bản). MSDN có một tài liệu tham khảo tốt trên Automating COM+ Administration và cũng là hoàn thành COM+ Administration Reference.