2017-06-20 21 views
0

NSIS初心者です。アンチウィルス(Trend Micro)とアンインストールするアンインストーラアンインストールできません

アンインストールが実行される前に、事前定義されたカスタムページがあるので、ExecWaitコマンドでアンインストーラを起動します。

ExecWait '"$R6\Uninstall.exe" _?=$R6' ;Do not copy the uninstaller to a temp file 

$ R6は私のインストールパスです。

が、これはWindowsのTempフォルダにアンインストール中にファイルをコピーして、アンチウィルスソフトウェアはアンインストールからこれらのファイルをブロックし、私はアンインストール中にこれらの一時ファイルの作成を中止するにはどうすればよいuninstaller.exe

が壊れていますか? ?私はコントロールパネルからアンインストールしている間でもこの問題に直面しています。

クライアントシステムであるため、アンチウイルスを無効にすることはできません(このオプションは除外されています)。誰かがこれで私を助けることができますか?事前に感謝します

+0

このExecWaitコールはどこにありますか?インストーラまたはアンインストーラでは?もっとコードを投稿してください。 – Anders

+0

こんにちはAnders、 以前にインストールされたアプリケーションのチェック中にインストーラで呼び出されます。見つかったバージョンがあれば、このコマンドが呼び出されます。 – faisal

+0

インストーラからアンインストーラを実行しているときに_?=を使用すると、アンインストーラは%temp%にコピーされません。 – Anders

答えて

0

Trend Microに偽陽性を報告してください。

あなたは%TEMP%ディレクトリを避けたいなら、あなたは少しアンインストールランチャーを使用することができます。

!define UNBINNAME "Uninst.bin" 
!define UNHLPNAME "Uninst.exe" 
!ifndef UNHELPER ; Main script: 
OutFile "MySetup.exe" 
RequestExecutionLevel Admin 
Name "MySetup" 
InstallDir "$ProgramFiles\MyApp" 

Page Directory 
Page InstFiles 

Section 
SetOutPath $InstDir 
WriteUninstaller "$InstDir\${UNBINNAME}" ; Real uninstaller 
!makensis '-DUNHELPER "${__FILE__}"' = 0 ; Compile helper (NSIS v3+) 
File "${UNHLPNAME}" ; Uninstall launcher 
; TODO: Write uninstall registry entries here 
SectionEnd 

Section Uninstall 
Delete "$InstDir\${UNBINNAME}" 
Delete "$InstDir\${UNHLPNAME}" 
RMDir "$InstDir" 
SectionEnd 

!else ; Helper: 
OutFile "${UNHLPNAME}" 
RequestExecutionLevel Admin 
SilentInstall silent 
Name "UnHelper" 
Icon "${NSISDIR}\Contrib\Graphics\Icons\classic-uninstall.ico" 
Section 
System::Call "OLE32::CoCreateGuid(g.r0)" ; Note: This will create a .dll in %Temp%, use a unique name instead if this is a problem. 
StrCpy $0 "$LocalAppData\Un$0.exe" 
CopyFiles /SILENT /FILESONLY "$ExeDir\${UNBINNAME}" "$0" 
Exec '"$0" _?=$ExeDir' 
Quit 
SectionEnd 
!endif 

これが、その後動作する場合AVは%TEMP%ディレクトリは本当に特別なものではありません、ユーザーが書き込むことができ、むしろ愚かです他の場所に。

+0

私はこれを実装しようとし、あなたに戻ってきてくれてありがとう – faisal