Saya perlu menambahkan entri baru ke variabel PATH saya. Ini adalah kegiatan umum bagi saya dalam pekerjaan saya, tetapi saya baru-baru ini mulai menggunakan Windows 8. Saya berasumsi prosesnya akan mirip dengan Windows 7, Vista, XP ...
Inilah urutan acara saya:
- Buka properti Sistem (Mulai-> [ketik "Panel Kontrol"] -> Panel Kontrol \ Sistem dan Keamanan \ Sistem -> Pengaturan sistem lanjutan -> Variabel Lingkungan)
- Tambahkan path baru ke awal variabel USER PATH saya (C: \ dev \ Java \ apache-ant-1.8.4 \ bin;)
- Membuka command prompt (Mulai -> [ketik "command prompt" enter] -> [type "path" enter]
Entri jalur baru saya tidak tersedia (lihat gambar dan vide terlampir). Saya menduplikasi proses yang sama persis pada mesin Windows 7 dan berhasil.
EDIT
Variabel Lingkungan Windows 8 dan video Command Prompt
EDIT
Ini jelas bukan perilaku Windows 7. Tonton video ini untuk melihat perilaku yang saya harapkan bekerja di Windows 7. http://youtu.be/95JXY5X0fII
EDIT 5/31/2013
Jadi, setelah frustrasi, saya menulis aplikasi C # kecil untuk menguji WM_SETTINGCHANGE
acara tersebut. Kode ini menerima acara di Windows 7 dan Windows 8. Namun, di Windows 8 di sistem saya, saya tidak mendapatkan jalur yang benar; tapi, saya lakukan di Windows 7. Ini tidak dapat direproduksi di sistem Windows 8 lainnya.
Ini kode C #.
using System;
using Microsoft.Win32;
public sealed class App
{
static void Main()
{
SystemEvents.UserPreferenceChanging += new UserPreferenceChangingEventHandler(OnUserPreferenceChanging);
Console.WriteLine("Waiting for system events.");
Console.WriteLine("Press <Enter> to exit.");
Console.ReadLine();
}
static void OnUserPreferenceChanging(object sender, UserPreferenceChangingEventArgs e)
{
Console.WriteLine("The user preference is changing. Category={0}", e.Category);
Console.WriteLine("path={0}", System.Environment.GetEnvironmentVariable("PATH"));
}
}
OnUserPreferenceChanging
setara dengan WM_SETTINGCHANGE
Program C # berjalan di Windows 7 (Anda dapat melihat acara datang dan mengambil jalur yang benar).
Program C # berjalan di Windows 8 (Anda dapat melihat acara tersebut terjadi, tetapi jalur yang salah).
Ada sesuatu tentang lingkungan saya yang memicu masalah ini. Namun, apakah ini bug Windows 8?
EDIT 2014-04-28
Karena ini dan beberapa masalah lainnya, kami tidak lagi menggunakan Windows 8 di desktop. Kami tidak memiliki lingkungan untuk melanjutkan pengujian dan percobaan dengan masalah ini. Masih belum ada jawaban atau resolusi untuk masalah ini bagi kami. Jawaban di bawah tidak menyelesaikan masalah kami.
cmd
ketika instance baru diluncurkan. Tentu saja yang sudah berjalan cmd
tidak mendapatkan lingkungan yang diperbarui.