2

インスタレーションを作るのは初めてです。これについて助けが必要です。

  1. セットアップを作成するときは、[公開] オプションを使用します。インストールが完了すると、開発中に表示されるように、セットアップ インストール パスにすべての .cs ファイルが含まれます。これにより、VS をインストールしているすべての人がアプリケーションを編集できるようになります。

    別の方法として、Advanced Installer を使用してみましたが、そこでも同じことが起こります。Advanced Installer のテーマと試用版および登録機能を使用したいので、引き続き Advanced Installer を使用したいと思います。

  2. 現在、Advanced Installer の Trial And Registration 機能を使用しています。この機能は、インストール ディレクトリに DLL を作成します。相対パスを使用して DLL にリンクするにはどうすればよいですか?

  Environment.CurrentDirectory = Directory.GetCurrentDirectory();  
  string dllPath = Path.GetFullPath(@"..\..\Trial.dll");

上記のコードは、開発中に正常に動作します。しかし、EXE をインストールすると、エラーが返されます。私によると、パスにエラーがあります。

インストール中に、次のパスを使用します。

C:\Program Files\ManufacturerName\AppName\

インストールが完了すると、フォルダーは次のようになります。

C:\Program Files\ManufacturerName\AppName\<My CS files are here, on a silver platter>
C:\Program Files\ManufacturerName\AppName\bin\release
C:\Program Files\ManufacturerName\AppName\bin\release\<app.exe here>
C:\Program Files\ManufacturerName\AppName\bin\debug
C:\Program Files\ManufacturerName\AppName\obj\x86
C:\Program Files\ManufacturerName\AppName\obj\x86\release
C:\Program Files\ManufacturerName\AppName\obj\x86\debug
C:\Program Files\ManufacturerName\AppName\Properties
C:\Program Files\ManufacturerName\AppName\Service References

これらのフォルダにファイルが存在します。私のプロジェクトパスと同じです。

また、1 回限りのインストールが可能な他のインストーラーを使用することにもオープンです。

4

1 に答える 1

2

インストールが完了すると、開発中に表示されるように、セットアップのインストール パスにすべての cs ファイルが含まれます。

これは、出力フォルダー全体をセットアップ プロジェクトに追加したために発生します。アプリケーションファイルのみを追加することになっています。どれがアプリケーション ファイルかわからない場合は、調べる必要があります。

別の方法として、高度なインストーラーを使用してみましたが、そこでも同じことが起こります。

Visual Studio アプリケーション プロジェクト タイプを試しましたか? アプリケーション ファイルのみをインポートします。

相対パスを使用して dll にリンクするにはどうすればよいですか。

ライセンス DLL は、アプリケーション EXE の隣に配置する必要があります。このようにして、相対パスを使用せずに名前で直接アクセスできます。

セットアップ プロジェクトでは、任意のフォルダにファイルを移動できることに注意してください。

于 2011-09-06T17:31:56.760 に答える