4

Windows 7マシンにアプリをインストールしていて(私のアプリは1つの特定のデバイスをターゲットにしています)、OSの起動/ログインで実行しようとしています。

これはSilverlightOOBアプリで、これが問題である可能性があると思いましたが、メモ帳でテストしましたが、それでも機能しません。

私はここの例に従いました:

!include "MUI.nsh"

Name "Tech Drive Installer"
OutFile "techdrive_setup.exe"
InstallDir "$PROGRAMFILES\Tech Drive"

RequestExecutionLevel admin
ShowInstDetails show

!insertmacro MUI_LANGUAGE "English"

Section
    SetOutPath "$INSTDIR"
    SetOverwrite ifnewer

    File "TechDrive.xap"
    ExecWait '"$PROGRAMFILES\Microsoft Silverlight\sllauncher.exe" /install:"$INSTDIR\TechDrive.xap" /origin:"http://localhost/TechDrive.xap" /shortcut:desktop'

    WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Run\" "TechDrive" '"$PROGRAMFILES\Microsoft Silverlight\sllauncher.exe" 3388701632.localhost'
SectionEnd

なぜこれが機能しないのですか?

4

1 に答える 1

6

WriteRegStr 呼び出しは、この 32 ビット Win7 マシンで正常に機能しました。HKLM に書き込むときは、自分が admin であることを確認する必要があります

64 ビット OS を使用している場合は、レジストリの WOW64 部分に書き込むことになります。NSIS ではSetRegView命令でこれを制御できますが、いずれかの実行キーが機能するはずです。

Autorunsを使用して、値が正しく追加されたことを確認したり、Process Monitorで直接監視したりできます。それでも起動しない場合は、パスを再確認して正しいことを確認します。(起動時に実行されるプログラムも、管理者権限を要求することはできません)

于 2012-09-27T17:09:58.843 に答える