studio Odyssey



スタジオ日誌

日誌的なもの

 はいどうもー。

 ツイッターでもつぶやいていましたが、お困りの人のために、書いておきますよー。検索で引っかかりやすいように、キーワードは、Windows10 1803 RS4 April 2018 Update ClickOnce 起動しない あたり。

 結論。

 Internet Explorer のオプションで、信頼済みサイトに配布先のURLを登録して、アンインストール。しかる後、インストール。ただこれだけ。

 2018/06のWindows Updateでこの問題は解消しているようです。Windows Updateで最新のパッチを当てた後、再インストールで解決すると思います。

フォーラムの投稿があったので、追記しておきます。
MSDN コミュニティ フォーラム Windows10PC(OSバージョン1803)でClickOnceが動作しない問題のご相談
https://social.msdn.microsoft.com/Forums/ja-JP/546e1231-b65b-4430-bed5-96d6de7fd1cf/windows10pcos1803clickonce?forum=windowsgeneraldevelopmentissuesja

 中身の説明。

 よくわからないが、どうも、Windows Defender にある、SmartScreenの挙動が変わったのか、RS4(April 2018 Update)では、ClickOnceで取得されるファイルに、ブロックがついても、SmartScreenで警告されない。多分、前の挙動だと、警告されて、詳細か何かで許可すると、このブロックが外れて、起動するようになっていたんだと思うんだけど、そもそも、SmartScreenの警告が出ない。バグっぽい。

 ちなみに、再インストールできない場合、Windows Defender から、アプリとプラウザーコントロールを開いて、アプリとファイルの確認のところをオフにする。しかる後、起動すると、警告ダイアログがでるので、ここで、起動時に警告をするを外すと、設定を戻しても、起動する。ここの設定はセキュリティに関係するので、必ず戻してね。

 あと、できるかどうかわからないけれど、裏技。

 ClickOnceの起動前に、LANケーブルを抜く。(ネットワークで、無効にするでもいい)

 起動後、指す。

 これでも動く事がある。権限がなくてできない時は、これでやってみてもいいかもしれない。なぜ動くのかは知らない。

 そのうちパッチが出るんじゃね?

 結論から言って、スマートフォンサイトでmouseoverを使うな。超面倒くさい。

 とはいえ、うちのコンテンツのRagnarok日記は、脚注にmouseoverしたときにでてくるチップが、本編を補強するネタになっているので、あれがないと、それはそれで寂しい。というわけで、スマフォでも見られなければいけないわけだ。

 もともと、あのへんのコードとかは、16年も前に書いたものなので、Netscape対応だとか、Opera対応だとか、まーいろいろやっていたんだけど、流石に、タッチには未対応だった。(当たり前) で、スマフォって、実はmouseoverをクリックにエミュレートするような挙動が組み込まれていて、まー、特に手を入れないでも、ちょっと直したら、チップが出るところまではできた。

 が、問題は閉じるとこだ。

 オリジナルのコードはmouseoutで閉じるんだけど、まー、これはエミュレートされていないので、閉じるを実装する必要があったんだけど、これが曲者。タップして出てくるから、タップで閉じりゃいいって、当然の発想で、ドキュメントのtouchstartにリスナーつけると、ちゃんと閉じられたりして、良さげになるんだけも、iOSのとき、これだと、同じ要素をタップすると、二回目以降が反応しない。別の要素を触ったあとならいいんだけどね。

続きを読む <スマートフォンにおける、mouseoverイベント>

2017.11.04

 ASP.net Core 2.0で、swaggerつかって、クライアント側で、REST APIを使って、Client Proxyを作って、Windows Forms でいろいろする。

 いや、まぁ、WPFでもいいですし、UWPでもいいんですけどね。あと、今回ご紹介する方法は、swagger.json のURLをAPI毎に任意にわけるとか、そんな感じの事もします。けども、swaggerの使い方とかは触れないので、swaggerの使い方を知りたい人は回れ右で、他のもっと親切なサイト様へどうぞ。

 でで。

 やりたいことしては、REST APIを使って、Client Proxyしたいので、まずは、ASP.net Core 2.0 で、Web APIサイトを作りますですます。あ、Visual Studio 2017です。15.4.2です。当然、.net Coreあたりの開発はインストールしておいてくださいね。Azure系のも必要です。(REST API Proxyを作るのに使うんだっけな)まぁ、最新にしておけって事ですよ。あ、C#です。

続きを読む <ASP.net Core 2.0 で、Web API とClient Proxy>

2017.11.03

SQL Developer Oracle 12c

Written by
しゃちょ
Category
プログラム

 SQL Developer で、Oracle 12c につなごうとすると、NullPointerException が起こって、接続できない問題。

 17.x系のバグっぽい報告もあったり、fixされたとかあったりしたんだけど、まぁ、つながらなかったりするわけですよ。でね、結論から言って、なんてことはない、Oracle Clientのバージョンが 12.1 以上でないとつながらないという、単なるドライバの問題なんですよ。

 もうね、その情報ですら、日本語で取得できないわけですよ。いやわかんない。あるのかもしれないけど、見つからなかったわけですよ。

 で、解決策としては、ドライバあげればいいんだけど、Oracle Clientは開発環境の問題とかで、バージョン上げたくないんだよーっていうことが、あるわけで、そういう人のための解決方法ね。

 Oracle Instant Client使えるなら、アレ使えばいい。いや、しかし、PATHに書いちゃったら、開発環境汚すから、PATHには書かない方法でやる。

 Oracle Instant Client は、使い方わかっている前提で、

  • Windows の場合の話。他はしらん。まずは、Instant Clientをダウンロードして、適当に解凍する。
  • 本当はPATHを通すんだけど、PATHは通さない。
  • TNS_NAMESは通してもいい。(通さなくてもいい)
  • SQL Developer を起動する
  • ツール-プリファレンス-データベース-拡張
  • Oracle Clientの使用にチェック
  • 参照で、インスタントクライアントにして、インストールしたパスを指定。(TNS_NAMESはこの画面でも指定できる)
  • まだ動かない。まだ慌てる時間じゃない。
  • ヘルプ-バージョン情報-プロパティで、java.library.pathを探す。
  • 値をメモ帳にでもコピる。見たらわかることだけれど、これ、基本的にPATHの環境変数のコピーみたいなもん。
  • インスタントクライアントのバスを追加する。いらないものは消していい。
  • このPATHをSQL Developerがロードすればいいので、sqldeveloper.confを探せ。(多分、binの中。すげー変なところにある)
  • AddVMOptionが並んでるとこの適当なとこに。
  • AddVMOption -Djava.library.path=C:\Oracle\~ みたいに、先のパスを書く。
  • SQL Developer を再起動して、conn conn connnnnnn!!!1!!

 最近はこんなことばっかに引っかかってるきがするなぁ。

 気が向いたら、ASP.net Coreでつぶやいていたやつもまとめるかもしれない。

2012.05.06

げー、二年前かぁ

Written by
しゃちょ
Category
C#
TRPG
プログラム
Tags

 ちょこ@DXをちょっと直したけど、初めてこれがこのブログに出たのって、2年も前なのね。

 もう、バージョンアップだろ。つーか、IRC周りとか、チョコアでなくて、SmartIRC.netとかで実装すればいいじゃんっていう気もする。面倒だからしないけど。

 つーか、コード汚いし、バグだらけだし。

 これって、確か、DataGridで並び替えとか、ドラッグアンドドロップとかのテストのために作ったんだよなー。仕事の技術検証のついで。フレームワークも2.0だから、Func<T>ないし。今なら、ラムダ式で書いちゃうよっていうのが散見される。まー、何も考えずに書いたしなー。

 ちょっと直したコードとexeは、ブログのどっかにある。exe持ってく時は、上書きする前に、dxdb.mdfをどっかに待避しておいてください。戻せば、データ消えないよ。

 まぁ、別に自分はこれで困らないので、困ったらその時考える。それこそ、HTML5で書いた方が、タブレットで使えていいよね。あ、IRC連動どうすんだ...普通には、socket通信できねーだろ。結局何かコンポーネント必要になるなら、作るのめんどくせぇし、いらねーや。

2011.01.22

VisualStudioで、Javascript

Written by
しゃちょ
Category
プログラム

 Web開発なんかもする俺ですので、VisualStudioでJavascript(正確には、やつはJScriptだが)なんかも書くわけですが、VS2010から、Javascriptのインテリセンスもよくなったよ!とか聞くので、いろいろ試してみた。

 たしかによくなっているんだが、Javascriptが結構、いろんな事が出来ちゃう所為で、いろいろと微妙だ。つらつらと書いてみよう。

続きを読む <VisualStudioで、Javascript>

2010.07.24

VisualStudio2010

Written by
しゃちょ
Category
プログラム

 いい加減、そろそろさわらないといけないので、さわっているのだが、コントロールライブラリを4.0にあげて、コード分析をかけたら、警告スゲーでるのね。

 2008の時の分析で、1つもでないようにコードを書いておいたのに、2010はスゲーでる。まぁ、だいたい、間違いを言っている訳でないので、直していたんだけど(でも、Stream系で、usingの中でCloseしていると怒られるのはどうなのか...まぁ、いらないのはわかるけど、二重の破棄が問題になるのは、実装のせいだろ)、ProcessCmdKeyのオーバーライドをした時の警告が、どうするのが正しい解決なのか...

 Linkなんちゃらの属性つけて、セキュリティなんちゃらの属性つけてっていうのが正しいのか...つか、そもそもレベル2のなんちゃらと言われるけど、もともと、コントロールがそれに乗っ取ってないし...

 Windows Formは使うなって事かなぁ。

 OracleConnection系の警告って、まとめて抑制できないのかなぁ...うぜぇ...

2010.05.17

ちょこ@ DCC Send

Written by
しゃちょ
Category
C#
TRPG
プログラム

ChocoatDCC.gifCHOCOAは、古いアプリケーションなので、今時代の環境だと、ファイルが送信出来なかったりするわけです。

とはいえ、CHOCOAにはNAT機能が存在するので、ファイヤーウォールに適切にポートマッピングを追加してあげて、設定すれば、送れます。

でもね、コンピューターわかんない人には、わかんない訳ですよ。

なので、ちょこ@の拡張機能の一つとして、UPnPを使ってポートマッピングを追加して、CHOCOAのNAT変換を設定してくれるアプリを作りました。

これで、今までCHOCOAでファイル転送出来なかった人も出来るようになります。メッセンジャーでファイル送れないーって人には、これでも無理なんだけど、今時のファイヤーウォールなら行けるんじゃないかなぁ。

バイナリ(exe)はここ。 Chocoat.DccSupport.zip

詳しい使い方は、

続きを読む <ちょこ@ DCC Send>

2010.05.13

ちょこ@

Written by
しゃちょ
Category
C#
プログラム

 ちょこあはシンプルなインターフェイスで、ずっと使ってるんだけど、FWの内側にいると、IRCのファイル転送がきかないんだよね。当然、ポートマップをしてあげれば、ちょこあはNATに対応しているので、出来るんだけど、そうそう滅多に使わない機能のために穴を開けるのもねって思ってたんだけど、そういえば、UPnPを使えば開けられるじゃんと気づいて、ちょこ@は中身C#なんだし、やりたい放題じゃね?NATもCCAPIで設定出来るみたいだし。

 と思って、ちょこ@に機能追加。テストはうまくいったけど、最後のちょこあ側のIPアドレス登録部分。ドキュメントだと、INTって書いてある...

 これは、なんかそんな計算式があった気がする...それなのか...それだろうなぁ...

2010.05.10

ちょこ@DX3rd

Written by
しゃちょ
Category
C#
TRPG
プログラム
Tags

 ちょこあっとに、DX3rd用のサンプル実装をつけました。

 インターフェイスはまだ変えると思う。これ、ロール作る時に間違う。

 セーブとかないです。作ると思うけど。

 エフェクト系の管理もないし...まぁ、自分が欲しいものだけを追加するので、実際に運用に耐えるかどうかはしらない。「ゆにだいす」は、使っているダイスボットなので、ダイスボットの部分は、必要に応じてコードを変えてください。オデのダイスボットではないです。これはconfigに出すかも。

1  2