2016-04-22 18 views
1

clickOnceアプリケーションのインストールパスを取得する必要があります。ClickOnceからInstalltionパスを取得する

パス: C:レノボ\のAppData \ローカル\アプリ\ \ \ユーザー2.0 \ LEGRGER7.57W \ 4Z5LN4OT.J7H \ MyApp..vsto_c3da112430e41901_0001.0000_2214160f1f9567c9

とにかく私の意図を追加することですClickOnceインストーラにファイル(.tagger)を追加し、コードからそのファイルを読み込みます。クライアントマシンの定義済みの場所にファイルを保存できませんでした。

私はそのインストールパスを読んで、そのファイルを自分のアプリケーションの最初の実行時に私のカスタムフォルダの場所にコピーします。

現在、私はこれを行っていますが、インストールファイルのパスではなくデータパスを取得する可能性があります。

string sourcePath = System.Deployment.Application.ApplicationDeployment.CurrentDeployment.DataDirectory; 

他の方法でこれを行うこともできますし、同じ方法を使用することもできます。

答えて

2

使用このコード:

あなたのパスを取得するために:開くための

string sourcePath =System.Reflection.Assembly.GetExecutingAssembly().Location 

automaticulyあなたのパスのインストール:

System.Diagnostics.Process.Start("explorer.exe", AppDomain.CurrentDomain.BaseDirectory) 
+0

は、最初のパスがpathCを返す:レノボ\のAppData \ \ユーザー\ Local \ assembly \ dl3 \ HW47O5YM.1B1 \ 4AZBEZH6.74H \ 6bfae6b6 \ f865bf5c_6f9cd101 \しかし、C:\ Users \ lenovo \ AppData \ Local \ Apps \ 2.0 \ LEGRGER7.57W \ 4Z5LN4OT.J7H \ MyAppのパスが必要です。 .vsto_c3da112430e41901_0001.0000_2214160f1f9567c9 \ – KIS

+0

ClassLibraryがどのように含まれているかを知るソリューションがある場合。あなたはプロジェクト "exe"のコードを過ぎていなければなりません –

+0

私はAppDomain.CurrentDomain.BaseDirectoryを使ってパスを取得しました。それはok.but私はSystem.Diagnostics.Process.Start( "explorer.exe"、AppDomain.CurrentDomain.BaseDirectory)の使用を教えてください。あなたに感謝します。 – KIS

関連する問題