2012-07-12 14 views
6

Açılmış olan son 10 dosyayı kaydetmek için kayıt defterini kullanan bir programım var. Bir keresinde onları yerel makineye kaydetmeye çalışıyordum, ancak onları mevcut kullanıcıya kaydetmeye karar verdim. Herşeyi işe almaya çalışırken, programa Yönetici olarak gitmeye zorlamak için bir tezahürat hazırladım. Sorun şu ki, şartı kaldıramayacağım.C: "Yönetici olarak çalıştır" gereksinimi nasıl kaldırılır C#

Ben ....Proje özellikleri, "Bir manifest olmadan uygulama oluştur" olarak değiştirildi, app.manifest adında yeni bir öğe eklendi. Bu, asInvoker varsayılanıdır ve bu bildirimi kullanmak için özellikleri değiştirdi, herhangi bir dosyayı yeniden adlandırdı. kelime dosya isminde tezahür eder.

Bu girişimlerin hiçbiri işe yaramadı. Program hala yönetici olarak çalışıyor. Bir şeyi özlemeliyim ama ne olduğundan emin değilim. İşte

yardım

<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> 
    <requestedExecutionLevel level="asInvoker" uiAccess="false" /> 
    </requestedPrivileges> 

Teşekkür app.manifest

yılında hatlardır !! Gary

+0

Bildiri dosyasını projeden kaldırın. Açıkçası, çok az ayrıntıyla bize verdiğinizde, yanlış bir şey yapıyorsunuz, ne önereceğinizden emin değilsiniz. Sadece mevcut olanı düzeltmeyi ve/veya çözümü yeniden oluşturmayı denediniz mi? –

+0

nasıl bir kod örneği .. Eğer bir şey eklediyseniz, kesinlikle C# kodu/işlevsellik açısından ne eklediğini anlamadıkça onu kesinlikle kaldırabilirsiniz – MethodMan

+2

İstediğiniz koddan emin değilim bir örnek Orijinal soruda belirttiğim gibi, proje ayarlarını değiştirerek projeden çıkan bildiriyi kaldırdım veya en azından bu benim amacımdı. – Gary

cevap

8

Özellikler klasöründe app.manifest dosyasına bir göz atın.

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 

bunun yerine aşağıdaki satırı ekleyin: Bu yardımcı olmadıysa

<requestedExecutionLevel level="asInvoker" uiAccess="false" /> 

öncelikle de bin \ Debug klasöründen bildirim dosyası kaldırıldı emin olun aşağıdaki satırı kaldırın. Dosyayı hala çıktı klasöründe mevcut olabileceğinden çözümden kaldırmanız yardımcı olmaz.

Bu nedenle, bildirim dosyasını projeden kaldırmamalı, ancak beklendiği gibi çalıştığını değiştirmelisiniz.

+0

Yanıt için teşekkürler! Debug dizininde bir manifest dosyası yok. Ben app.mainfest kullanmak için proje özelliklerini değiştirdim (ilgili satırları içerecek şekilde orijinal soruyu güncelleştirdim) ve projeyi yeniden oluşturuyor ve hala bir yönetici olarak çalışıyor – Gary

+2

Kodumda ilerledikçe ve önerdiğin şeyi yaptıktan sonra sorun var. App.maifest'i ekledikten sonra programı birkaç kez derledim. Frist birkaç kez ihtiyacımın hala orada olup olmadığını görmek için baktım. Ne zaman değiştiğini bilmiyorum ama teşekkürler! – Gary

2

Bu soru şu anda bir yıldan fazla olmasına rağmen, ancak bir gününü kurtaracağı için yanıt veriyorum.

Uygulamanızı yönetici modu olarak çalışacak şekilde yapılandırdıysanız ve şimdi bu hakları iptal etmek istiyorsanız, aşağıdaki adımları gerçekleştirmeniz gerekir. > Çözümünüzü temizleyin - -

Değişim

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 

<requestedExecutionLevel level="asInvoker" uiAccess="false" /> 

için sağ sizin proje üzerinde tıklayın> çözümünüzü yeniden ve o kadar.

+0

Bunu niçin değiştirdiniz? Kurulum projemde App.config bulunmuyor. Her yerde bu 'cevabı' görüyorum, ancak bu app.config/manifest'in nasıl oluşturulacağına dair bir açıklama yok. – ExtremeSwat

+0

Neden bir tane ekleyemiyorsunuz? Ne tür bir proje çalışıyorsunuz? Bir win form uygulaması mı? – Ehsan

İlgili konular