2010-08-31 41 views

Trả lời

2

Câu trả lời thực sự là không, bạn không nên làm điều này. Các ứng dụng ClickOnce được cài đặt trong hồ sơ người dùng và chỉ thuộc về người dùng đó. THey sẽ không và không hoạt động như một cài đặt tất cả người dùng. Cũng xin lưu ý rằng nếu bạn nhấp đúp vào tệp [exe] (vị trí thay đổi mỗi khi có bản cập nhật), nó sẽ không tìm kiếm bản cập nhật, nó sẽ không kiểm tra các tệp để đảm bảo chúng không bị giả mạo. Nói cách khác, nó sẽ không chạy như một ứng dụng ClickOnce.

Tôi cũng nghĩ rằng việc chuyển tên người dùng và mật khẩu trong chuỗi truy vấn không được thông báo bởi vì bất kỳ ai chạy trình điều khiển hoặc charles hoặc bất kỳ trình thu thập dữ liệu mạng nào khác đều có thể xem thông tin xác thực.

1

Bạn đang nói về một quy trình tắt, hoặc điều gì đó cần phải xảy ra mỗi lần mã của bạn chạy trên nhiều máy tính? Bởi vì nếu bạn chỉ đơn giản muốn cá nhân chạy một ứng dụng ClickOnce với quyền cao, nó khá đơn giản. Nhấp vào một lần ứng dụng nằm ở% LOCALAPPDATA% \ Apps \ 2.0 [ObfuscatedFolderName]. Chỉ cần tìm thư mục ứng dụng của bạn (dấu thời gian là đủ thông tin), sau đó nhấp chuột phải vào EXE của bạn và chạy dưới dạng quản trị viên.

Nếu bạn muốn làm điều đó bằng mã, giải pháp dễ nhất có thể là tạo ứng dụng trình bao bọc xung quanh mã của bạn, yêu cầu quyền cao trong mã. Here is such an example.

+0

Bạn có biết vị trí của ứng dụng có thể thay đổi sau khi tự động cập nhật không? – Vitalik

+0

Những gì tôi thực sự cố gắng làm là để chạy một lần nhấp lên dưới tài khoản tên miền từ một máy tính không phải là một phần của tên miền (nhưng trên cùng một mạng). – Vitalik

+0

Tôi không tin rằng bạn có thể dựa vào con đường phù hợp, không. – Serapth

18

Điều này thực sự có thể xảy ra, bạn chỉ cần thực hiện theo hai bước. Trước tiên, bạn sẽ cần phải khởi động ClickOnce (dfsvc.exe) như người dùng mà bạn đang cố gắng để mạo danh và sau đó bạn có thể khởi chạy các ứng dụng triển khai sử dụng rundll32, một cái gì đó như thế này:

(Từ dòng lệnh)

1. - Nhấp một lần:

runas /user:domain\user "c:\Windows\Microsoft.NET\Framework\v4.0.30319\dfsvc.exe" 

2.- Khởi chạy ứng dụng:

runas /user:domain\user "rundll32 c:\Windows\System32\dfshim.dll,ShOpenVerbApplication http://someurl.com/tool.application" 

Lưu ý rằng bạn chỉ cần chạy dfsvc.exe một lần nếu y Bạn cần khởi chạy nhiều ứng dụng và ứng dụng sẽ biến mất sau một thời gian khi bạn đóng tất cả các nhấp chuột mạo danh khi ứng dụng.

+1

Câu trả lời này đã cứu mạng tôi! Tôi đã có thể sử dụng thủ thuật được mô tả để mở một ứng dụng ClickOnce giữa hai tên miền không đáng tin cậy bằng cách sử dụng xác thực NTLM. –

+0

@Santo hai lần 'người dùng'? – turbanoff

+0

@turbanoff có bạn cần phải làm điều đó hai lần, nếu không thứ hai sẽ khởi chạy ứng dụng nhấp chuột theo ngữ cảnh của người dùng đã đăng nhập. Có phải đó là những gì bạn đã được hỏi? – Alan

Các vấn đề liên quan