it-swarm.asia

Cegah elevasi (UAC) untuk aplikasi yang tidak membutuhkannya

Setelah baru-baru ini pindah dari Vista 32bit ke Windows 7 64bit, salah satu program saya sekarang memerlukan hak admin.

Saya menggunakan editor teks yang agak eksotis (Crimson Editor). Meskipun tidak dirancang untuk Vist/Win7 bekerja dengan baik dengan Vista. Tetapi di bawah Windows 7, program yang dapat dieksekusi mendapatkan perisai UAC ini ditambahkan ke ikonnya (meskipun bendera "Jalankan sebagai administrator" pada tab kompatibilitas --- tidak diatur) dan meminta elevasi setiap kali saya menjalankannya.

Bagaimana Win7 menentukan bahwa aplikasi seperti notepad ini memerlukan hak admin? Bagaimana saya bisa mengesampingkan heuristik palsu ini?

34
SealedSun

Tidak, alasan Crimson Editor melakukan ini BUKAN karena tidak ditandatangani. (Dan ini bukan hal baru untuk Win7). Itu karena manifes aplikasi, yang tertanam pada waktu kompilasi, menentukan requestedPrivilegeLevel="highestLevel".

Menurut posting forum ini , pengembang Editor Crimson mengubah ini dalam revisi 237-241. Mereka melakukan ini karena fitur "Tambahkan Crimson Editor ke menu konteks Shell" memerlukan hak admin.

Perbaikan jangka panjang akan bagi pengembang Editor Crimson untuk memperbaiki manifes aplikasi mereka. Mereka harus menambahkan diri mereka ke menu konteks Shell selama instalasi, atau setidaknya memberi tahu pengguna bahwa mereka harus menjalankan aplikasi secara manual (yang mudah dilakukan) alih-alih membutuhkannya.

Untuk semua aplikasi dengan requestedPrivilegeLevel="highestLevel" dalam manifesnya (gunakan Tampilan Manifest untuk melihat manifes aplikasi), Anda dapat menggunakan Microsoft Application Compatibility Toolkit untuk memperkecil aplikasi dengan perbaikan RunAsInvoker, yang memaksa aplikasi untuk dijalankan dengan token pengguna standar Anda.

Untuk informasi lebih lanjut tentang cara menggunakan Perangkat Kompatibilitas Aplikasi, lihat posting ini tentang penerapannya pada Crimson Editor, atau instruksi umum .

22
the.d.stro

Saya menemukan bahwa saya memiliki dua aplikasi yang memiliki masalah ini. Satu memiliki 'pembaruan' dalam nama file dan yang lainnya memiliki 'pembaruan' di 'FileDecsription'. Saya hanya menghapus 'pembaruan' Word dari dua aplikasi ini dan tidak ada lagi peringatan UAC. Saya menemukan informasi di bawah 'Cara Kerja UAC' - 'Deteksi Penginstal' di:

http://msdn.Microsoft.com/en-us/library/aa905330.aspx

Yang menyatakan sebagai berikut:

Deteksi Pemasang hanya berlaku untuk:

  • Eksekusi 32 bit
  • Aplikasi tanpa Tingkat Eksekusi yang diminta
  • Proses interaktif berjalan sebagai Pengguna Standar dengan UAC diaktifkan

Sebelum proses 32 bit dibuat, atribut berikut diperiksa untuk menentukan apakah itu adalah penginstal:

  • Nama file mencakup kata kunci seperti "instal," "pengaturan," dan "perbarui."
  • Kata kunci dalam bidang Sumber Daya Versi berikut: Vendor, Nama Perusahaan, Nama Produk, Deskripsi File, Nama File Asli, Nama Internal, dan Nama Ekspor.
  • Kata kunci dalam manifes aplikasi berdampingan tertanam di eksekusi.
  • Kata kunci dalam entri StringTable tertentu yang ditautkan dalam executable.
  • Atribut kunci dalam data file sumber daya yang ditautkan dalam executable.
  • Urutan byte yang ditargetkan dalam executable.

  • Catatan: Kata kunci dan urutan byte berasal dari karakteristik umum yang diamati dari berbagai teknologi pemasang.

13
TheBeauty

Jika Anda memiliki Visual Studio, Anda dapat melakukan hal berikut:

  1. Buka Visual Studio sebagai Administrator.
  2. Tekan Ctrl-O untuk membuka file
  3. Telusuri ke folder di mana Crimson Editor berada dan buka cedt.exe
  4. File dibuka menggunakan editor sumber daya dan Anda akan melihat pohon dengan cabang bernama RT_MANIFEST, perluas ini dan klik dua kali entri anak tunggal bernama "1 [Inggris Amerika Serikat]"
  5. Kira-kira tiga perempat jalan di kolom kanan Anda akan melihat tingkat yang dimintaExecutionLevel = "tertinggiTersedia", ubah "tertinggiTersedia" menjadi "sebagaiPasangan" (NB editor membuka dalam mode over-type secara default.
  6. Simpan file dan selesai.

HTH

Kevan

7
kevanb

Ada beberapa informasi tentang heuristik di sini: http://msdn.Microsoft.com/en-us/library/aa905330.aspx

Manifes dapat membantu mengendalikan beberapa hal ini.

4
AaronLS