C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: セットアッププロジェクトでのCondition プロパティ


(過去ログ 129 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■76420 / inTopicNo.1)  セットアッププロジェクトでのCondition プロパティ
  
□投稿者/ しゃむこ (6回)-(2015/07/09(Thu) 17:17:50)

分類:[.NET 全般] 

Visual Studio 2008
.netFRAMeWORK3.5

セットアッププロジェクトを用いて、配布用アプリケーションのインストーラを作成しています。

・やりたいこと
インストール時、ローカルコンピュータに
ファイルAが存在しない場合に、ファイルAを配置する。
ファイルAが元々存在する場合は、ファイルAを配置しない。

・やったこと
起動条件>対象コンピュータの検索で、
ファイルAの検索を作成し、「Property」を「FILEEXISTS1」としました。
ファイルシステムの配置用のファイルAにて、
「Condition」を「FILEEXISTS1」、「Transitive」を「True」としました。

・結果
想定通りですが、やりたいことと逆で、
ファイルAが存在する場合に、ファイルAが配置され、
ファイルAが存在しない場合、ファイルAが配置されません。

したがって、
「Condition」にTrue/False逆の条件を記述すればよいだけだと思うのですが、その記述法が、MSDNを見てもわかりませんでした。
「FILEEXISTS1==""」「FILEEXISTS1==False」「FILEEXISTS1=False」etc.. ←どれも上手くいきません。
Conditionプロパティの記法についてのドキュメントや、何か別の方法をご存じの方がいましたら、ご教授いただけないでしょうか。
引用返信 編集キー/
■76423 / inTopicNo.2)  Re[1]: セットアッププロジェクトでのCondition プロパティ
□投稿者/ とっちゃん (302回)-(2015/07/09(Thu) 20:20:58)
とっちゃん さんの Web サイト
No76420 (しゃむこ さん) に返信
> ・やりたいこと
> インストール時、ローカルコンピュータに
> ファイルAが存在しない場合に、ファイルAを配置する。
> ファイルAが元々存在する場合は、ファイルAを配置しない。
>
英語なので、ちょっと読むのが大変かもしれませんが、
既存ファイルの更新条件が書かれているので、こちらを一度熟読しておくことをお勧めします。
https://msdn.microsoft.com/en-us/library/aa368599.aspx

もしかしたら、検索なんて面倒なことは何もする必要がなく、そのままでも意図した動作をするかもしれません。


> ・やったこと
> 起動条件>対象コンピュータの検索で、
> ファイルAの検索を作成し、「Property」を「FILEEXISTS1」としました。
> ファイルシステムの配置用のファイルAにて、
> 「Condition」を「FILEEXISTS1」、「Transitive」を「True」としました。
>
> ・結果
> 想定通りですが、やりたいことと逆で、
> ファイルAが存在する場合に、ファイルAが配置され、
> ファイルAが存在しない場合、ファイルAが配置されません。
>
> したがって、
> 「Condition」にTrue/False逆の条件を記述すればよいだけだと思うのですが、その記述法が、MSDNを見てもわかりませんでした。
> 「FILEEXISTS1==""」「FILEEXISTS1==False」「FILEEXISTS1=False」etc.. ←どれも上手くいきません。
> Conditionプロパティの記法についてのドキュメントや、何か別の方法をご存じの方がいましたら、ご教授いただけないでしょうか。

とりあえず、リファレンス。
https://msdn.microsoft.com/en-us/library/aa368012.aspx

FILEEXISTS1 とだけ書くとうまくいかないのなら、否定演算子の NOT を頭につけて
「NOT FILEEXISTS1」とすれば多分意図した条件になると思います。

引用返信 編集キー/
■76427 / inTopicNo.3)  Re[2]: セットアッププロジェクトでのCondition プロパティ
□投稿者/ しゃむこ (7回)-(2015/07/10(Fri) 11:48:09)
2015/07/10(Fri) 11:50:34 編集(投稿者)

ありがとうございます。
リファレンス、記載ありましたね、すみません。
「NOT FILEEXISTS1」で解決しています。
#日本語版しか見ていませんでした。
 https://msdn.microsoft.com/ja-jp/library/025bcetc(v=vs.90).aspx

> もしかしたら、検索なんて面倒なことは何もする必要がなく、そのままでも意図した動作をするかもしれません。
対象のファイルはバージョニングされたアプリファイルでなく、ただのデータベースファイル(sqlite)だったので、
アップデートでの考慮ができなくて、このような実装方法に着地しています。

ご丁寧なご回答、感謝です。助かりました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -