2009-05-29 5 views
0

私のアプリケーション(C#.netを使用して開発されたもの)がアンインストールされている状態で、InstallShieldはアプリケーションが既に開いていることを示すメッセージと、 「無視」を選択するとアンインストールが続行されます。一部のファイルとアプリケーションのexeは閉じられていません。アンインストール時にinstallshieldによってそれらを閉じる方法。または、私が設定しなければならないいくつかのプロパティがあります。私はアンインストール時にカスタムアクションを追加することを知っていますが、私はプロセスを終了させることができますが、installshieldを実行すべきではありませんか?Install Shield 2009 Premier、アンインストールでプロセス/ GUIが終了しない

答えて

0

開いているアプリケーションを再起動し、[無視]を選択しない場合は、「再起動」プロパティを「強制」に設定することを検討します。そのユーザーにシステムの再起動を依頼し、希望の結果を達成します。

+0

1のSe 2.プログラムをアンインストールします(プログラムはまだ開いています)。4. UnInstallは、アプリケーションが開いていることを警告します。5.アンインストールを続行します。6アンインストールが完了し、7今結果はexeであり、一部のDLLは削除されておらず、アプリケーションはまだ開いています! アンインストール中にアプリケーションが自動的に閉じられず、関連するdllファイルとexeファイルがアンインストールで削除されないようにしてください。 アプリケーションが開いていない場合、アンインストールはインストール中にコピーしたすべてのファイル/ディレクトリを削除します。 – Samir

+0

MSIインストーラ、またはInstallScriptインストーラですか? MSIの場合は、再起動マネージャを使用していますか?再起動後にファイルが削除されますか? MSIでは、動作する方法は次のとおりです。a)MSIは、削除したい開いているファイルを検出します。 b)Restart Managerを使用してシャットダウンします。 c)失敗した場合、再起動を促すメッセージが表示され、次の再起動時に削除されます。 –

0

プロジェクトの種類がのInstallScript MSIあるか、それは私が例えば、このためのコードを記述することを好む、のInstallScriptをサポートしている場合:

export prototype _Server_UnInstalling(); 
function _Server_UnInstalling() 
STRING Application, ServiceName; 
begin  
    //application name 
    Application = "Demo"; 
    MessageBox("In _Server_UnInstalling",INFORMATION); 
    //Check whether application is running or not. 
    if ProcessRunning(Application) then 
     MessageBox("Demo is running",INFORMATION); 
     //Close server Application 
     ProcessEnd(Application); 
    endif;       

    //if application is having service at the background then 
    ServiceName = "Demo Server"; 
    //Uninstall the server windows services on uninstallation. 
    ServiceRemoveDuringUninstallation(ServiceName); 

end; 

上記の例では、骨格を与え、あなたは、ProcessRunningのためのロジックを実装する必要がありますProcessEndとServiceRemoveDuringUninstallation方法、あなたは彼らがこのことができますソースコードと一緒に

希望を持つドキュメントを与えているのInstallShieldヘルプドキュメントを参照することができます...

関連する問題