これが私の問題です。product.msi セットアップのインストール中に、フォルダー内の既存の構成ファイルのバックアップを作成する必要があります。(カスタムアクションの使用)を使用してみInstaller Class
ましたが、機能しますが、正しい方向ではありません。
インストール全体が完了した後にのみバックアップが作成されます。つまり、インストール後、以前は 3 つの構成ファイルを取得していましたが、これらの 3 つはフォルダー内のバックアップとして取得されます。
私のインストールクラス:
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
}
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Commit(IDictionary savedState)
{
base.Commit(savedState);
string directory = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
String folderPath = directory + "\\Myproduct Before " + version;
string[] newPath = Directory.GetFiles(directory, "*.config");
int newPathCounter = newPath.Count();
if (newPathCounter != 0)
{
if (!Directory.Exists(folderPath))
{
Directory.CreateDirectory(folderPath);
}
for (int i = 0; i < newPath.Count(); i++)
{
string source = newPath[i];
string destination = source.Replace(directory, folderPath);
File.Copy(source, destination, true);
}
}
else
{
MessageBox.Show("No files to copy");
}
}
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Rollback(IDictionary savedState)
{
base.Rollback(savedState);
}
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Uninstall(IDictionary savedState)
{
base.Uninstall(savedState);
}
このコードも入力してみましOnBeforeInstall
たが、同じことが起こります。これについてアドバイスをください。