Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
プロジェクト名に漢字とカナを混ぜるとsetup.exeを実行するとエラーになる
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=10739#CommentId22990
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2012/3/4 20:14:44
> 実験結果の一部を記載させて頂きます。
おぉ、凄い! まだ確定では無いとはいえ、プロジェクト名の長さに依存する可能性はとても高そうです。
> もし全角文字が2バイトで数えると25バイトが、ボーダーラインでしょうか?
「A」 や「1」 は、UTF-8 = 1 バイト、UTF-16 = 2 バイト、Shift_JIS = 1 バイトです。
「ア」 や「。」 は、UTF-8 = 3 バイト、UTF-16 = 2 バイト、Shift_JIS = 1 バイト、です。
「あ」や「R」は、UTF-8 = 3 バイト、UTF-16 = 2 バイト、Shift_JIS = 2 バイトです。
「α」や「я」は、UTF-8 = 2 バイト、UTF-16 = 2 バイト、Shift_JIS = 2 バイトです。
> 過去にPower Packs を利用したプログラムでプロジェクト名が「直角三角形の各辺の長さを求める」を頒布したことがありましたが、このときは問題なく「setup.exe」アイコンでインストールを完了できました。
> 必須項目にPower Packsを追加して頒布しましたが、この時も 「setup.exe」アイコンを利用してセットアップしようとしたところ、やはり同じ症状で下記のエラーが出ました。
それぞれのプロジェクト名を比較すると、下記のようになりますね。
『直角三角形の各辺の長さを求める』 15文字、UTF-8 = 78 バイト、UTF-16 = 52 バイト、Shift_JIS = 52 バイト
『テーパーノックピン寸法出力』 13文字、UTF-8 = 90 バイト、UTF-16 = 60 バイト、Shift_JIS = 60 バイト
> ローカルにコピーしたアプリケーションを直接実行した場合、正常に稼動します。
ということは、おそらく
>> この例外は、アプリケーション マニフェスト(.manifestファイル)や
>> 配置マニフェスト(.applicationファイル)の内容に問題があった
ということになりそうです。(アプリの問題というよりは、ClickOnce 配置に関わる問題?)
理由はまだ分かりませんが、マニフェストファイル内のいずれかの項目について、
長さ制限があって、それに引っかかってしまうのかも知れません。
> 「- 配置とアプリケーションは一致するセキュリティ ゾーンを持っていません。」と書いてあります。
「配置とアプリケーションは一致するセキュリティ ゾーンを持っていません」は未経験なので、
残念ながら私から提供できる情報はありませんが、少し法則性が見えてきましたね。
>>> MSDN ライブラリを見たところ、
>> 上記の引用元はどこでしょうか?
> http://vsug.jp/tabid/63/forumid/57/threadid/10503/scope/posts/Default.aspx
ありゃ。MSDN ライブラリどころか、MSDN フォーラムですらなかったですね。(^^;
> このサイトはマイクロソフトではないですね。
ですね。VSUG(ブイサグ)のサイトは、Microsoft が運営しているわけではありません。
Microsoft がスポンサーの一企業にはなっていますけれども。
> 最初からプロジェクト名は半角英数字を使うようにしています。
ファイル名は英数字の方がよいですが、製品名は漢字を使っても問題は無いと思います。
ただ、長さ制限というのは思いつきませんでした。ありがとうございます。
> 下記のように>を付けて質問の内容を青くするのは難しいことでしょうか、
>> 1.プロジェクト名に……漢字とカナを使用してます
>> 2.……「Visual Basic Power Packs 」を追加しました。
文頭に「>」を付与すると青くなる機能は、この掲示板では 2010年5月に実装されました。
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=9641
> 初心者でもできそうならマネをしたいのですが
VB でワープロ(エディタ)機能か、掲示板機能を作ろうとしておられるのでしょうか。
質問の意図が読み取れなかったのですが、同等機能を自作するとすれば、手順としては、
(1) 文字列を行単位で調べていく。
(2) それぞれの行の先頭が「>」で始まるかを調べる。
(3) 先頭が > なら、その行を青く着色する。
になると思います。(それぞれの部分については、いろいろな書き方が考えられます)