Bir NSIS betiği kullanarak kurduğum bir program var. Yükleyicideki son adım Run anahtarına kayıt olmak ve programın başlangıçta çalışmasını sağlamaktır. Bunu altında onayladım
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
anahtar var
MyCompany Program - C:\MyCompany\Program\launch.vbs
Anahtarı tırnaklı ve tırnaksız da denedim, ancak bir etkisi olmadı. Kayıt defterinin CurrentVersion \ Run'dan okuduğunu onayladım
Notepad - C:\windows\notepad.exe
ve Notepad şimdi başlangıçta başlattı. Launch.vbs betiği, cmd.exe penceresi olmayan bir betiği başlatmak için kullanılan bir dizektir:
'HideBat.vbs from https://superuser.com/questions/140047/how-to-run-a-batch-file-without-launching-a-command-window
CreateObject("Wscript.Shell").Run "cmd /c " & chr(34) & "C:\MyCompany\Program\run.cmd " & chr(34), 0, True
Bir explorer penceresinden veya cmd.exe'den launch.vbs'i çağırmayı onayladım (beklediğim gibi çalışıyor). msconfig, C: \ MyCompany \ Program \ launch.vbs dosyasının başlangıç sekmesinde listelendiğini onaylar. Dosya Özellikleri'nin güvenlik sekmesi, tüm kullanıcıların okuması gerektiğini belirtir. ayrıcalıkları yürütün. Aynen, run.cmd de denir.
Bu noktada, programımın neden başlatılmadığına dair bir zararım var ve programın hatalarını ayıklamak için etkili bir yol bulamıyorum.
Sistem Windows 7 Professional 64-bit'tir.
msgbox "test"
. şimdi .vbs betiğini çalıştırın ve msgbox açılıp açılmadığına bakın. Sonra yeniden başlatıp, yapıp yapmadığına bakın. Bu, komut dosyasının yüklenip yüklenmediğini ve sorunun nerede arayacağını belirtir.
cscript
Bence. Koymakcscript your_script.vbs
"Çalıştır" 'da ve işe yarayıp yaramadığına bakın. Düşerken aynı şeyi yapmak için bir .bat yazmak zorunda kalacaksınız.