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

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

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

Re[4]: 他のパソコンでプログラムを起動させる


(過去ログ 134 を表示中)

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

■79122 / inTopicNo.1)  他のパソコンでプログラムを起動させる
  
□投稿者/ 匿名 (3回)-(2016/03/09(Wed) 18:28:40)

分類:[C#] 

未熟者の為、自分なりには調べたのですが、常識的なことの質問をしてしまうかもしれませんがすみません。
もしお時間がありましたら、知恵をお貸しください。


環境
Visual studio 2016
windowsフォーム
C#

自作したプログラムを他のパソコンで起動しようとしたのですがうまくできませんでした。
内容は 名前空間が見当たらないとのことでした。(textboxs1 など)


コピー手順
いつも通りビルドする
プロジェクト名\bin\Debugにあるプロジェクト名.exeのみをコピーし他のパソコンに入れる。

プログラムは違いますがC#windowsフォームで運がいいのかこの方法でうまく起動できました。

出来ればこの機を境に正しいコピー法が知りたいのでお願いします。






引用返信 編集キー/
■79124 / inTopicNo.2)  Re[1]: 他のパソコンでプログラムを起動させる
□投稿者/ 774RR (385回)-(2016/03/09(Wed) 21:47:48)
.NET なプログラムが開発マシンでない客先マシンで動く条件は
・開発時に指定した .NET Framework (の互換バージョン) が客先マシンにインストールされている
・開発した EXE/DLL が客先マシンに正しくコピーされている

> Visual studio 2016
はまだなかったような気がするが VS2015 であるとして・・・
対象 .NET Framework バージョンをまず確認。
客先マシンが Windows 10 の場合
対象 .NET Framework が 4.5 以上なら、そのまま動作する。
対象 .NET Framework が 2.0/3.0/3.5 なら、
「 Windows の機能の有効化または無効化 」で .NET Framework 3.5 を有効にする必要がある。

客先マシンが Windows 7/8 の場合
Windows Update で .NET Framework をインストールしてあることを確認。

> プロジェクト名\bin\Debugにあるプロジェクト名.exeのみをコピーし他のパソコンに入れる。
これはデバッグビルドなので開発マシンでないと動作しない代物だ。
リリースビルドを行い
bin\Release\***.exe と、必要なら ***.manifest を客先マシンにコピーしたら動きそうな気がする。
自作 DLL を使っているならそれも。

***.vshost.exe は客先マシンには不要。

っていうか普通は客先に実行可能形式ファイルを単体で提供するのではなくて、
「インストーラ」を作って提供するもんだ。

ねえ、もうちょっと識別可能な「名前」つけない?
引用返信 編集キー/
■79131 / inTopicNo.3)  Re[2]: 他のパソコンでプログラムを起動させる
□投稿者/ はな (6回)-(2016/03/10(Thu) 13:08:06)
Visual Studioのファイルメニューから新しいプロジェクトでInstallShield Limited Editionを作成すればいいのかな?

横やり失礼
引用返信 編集キー/
■79141 / inTopicNo.4)  Re[3]: 他のパソコンでプログラムを起動させる
□投稿者/ 774RR (387回)-(2016/03/10(Thu) 16:12:58)
> Visual Studioのファイルメニューから新しいプロジェクトでInstallShield Limited Editionを作成すればいいのかな?
御意。
ではあるものの InstallShield は nuget で取得しなきゃならなかったはず(未検証)
# 製品版 IS 高くて買えない

他にも WiX とか NSIS とかあるよね。
http://wixtoolset.org/
http://nsis.sourceforge.net/
日本語の解説は少ないかもしれない・・・

# とっちゃんさんの出番だ

Windows 10 に証明書なしのインストーラを与えると嫌がるんだよね・・・
証明書も個人ぢゃ取得しづらいし結構難しいかも。
# 独り言:オイラん部署での証明書はどうやってとりゃいいんだろう

引用返信 編集キー/
■79143 / inTopicNo.5)  Re[4]: 他のパソコンでプログラムを起動させる
□投稿者/ とっちゃん (335回)-(2016/03/10(Thu) 16:54:56)
No79141 (774RR さん) に返信
>>Visual Studioのファイルメニューから新しいプロジェクトでInstallShield Limited Editionを作成すればいいのかな?
> 御意。
> ではあるものの InstallShield は nuget で取得しなきゃならなかったはず(未検証)
> # 製品版 IS 高くて買えない
>
> 他にも WiX とか NSIS とかあるよね。
> http://wixtoolset.org/
> http://nsis.sourceforge.net/
> 日本語の解説は少ないかもしれない・・・
>
> # とっちゃんさんの出番だ
>
呼ばれたw
えー。。。匿名さんなので放置かなぁ。。。と思っていたんですがw

IS-LE は、独自のインストーラが動きます。
あと、VS2013 からVSの機能拡張として以前のものと同じようなVSセットアッププロジェクト(ただしUIは英語)があります。
.vdproj なので中身も基本的には同じでできることも一緒です。

IS-LE も同様ですが、WiX も、VSセットアップもUIは英語です。もちろん日本語環境向けのインストーラは作成可能です。

msiを出力という意味ではこの3社(間違っていないけどうーん。。。w)のどれかですかね。
日本語UIじゃなきゃヤダという場合は、ネットワールドさんか、エクセルソフトさんにお問い合わせください。



> Windows 10 に証明書なしのインストーラを与えると嫌がるんだよね・・・
> 証明書も個人ぢゃ取得しづらいし結構難しいかも。
> # 独り言:オイラん部署での証明書はどうやってとりゃいいんだろう
>
黄色の昇格画面でもいいかとw

コード署名は2つ意味があって、一つは、改ざんされていないことの担保。
もう一つは誰が作ったを表明です。

改ざんについてはオレオレでも誰が作ったかを保証できないだけで
作ってからは中身が変わっていないことを証明はできます。

もちろん、その証明書が本当にその人が作ったオレオレ証明書かどうかは
わからんわけですがw

ただし、オレオレは黄色です。インストールしてれば緑になるかもしれませんが
試したことはないです。


ぶっちゃけ、オープン市場に流通してないなら、黄色でもいいんじゃないの?と思います。
まぁ、オンラインソフトの場合は、ダウンロードサイトにきちっと証明書がついてればOKでしょ?
といえますしw

オープンソース系はそもそも。。。だしw

で、昇格はもう一つあって、昇格しないという選択肢は?もありますよね。
いわゆる Per Users インストール。

本命的なお勧めはこちら。

今時は、ネイティブ系でも HKLM 配下のレジストリに書かないとというのは少ないですし(ドライバ系を除く)
マシン全体に影響するような設定をしないと動かせないというアプリもほとんどなくなってますし。

そういう奇特なアプリを書いてるのは本気で市販系パッケージベンダーさんくらいでしょうw
実際社内ツールなら権限必要なやつは作らないですもんw

まぁ、詳しく知りたい!という場合は、別途スレを立ててもらうほうこうでw


ということで、せっかくなので本題も。

.NETで作られているデスクトップアプリなら、.NET Framework をあらかじめ入れてもらっておけばそれで十分です。

新規構築したVSのバージョンに依存しますが、原則的には
VS2015 なら .NET Framework 4.6 最新版(今なら4.6.1。もうじき 4.6.2)
VS2010/2012/2013 なら .NET Framework 4.5 最新版(今なら 4.5.2)
VS2005/2008なら、.NET Framework 3.5.1
VS2002/2003 なら、新規に最新環境で作り直す(今までのプロダクトはもう使わないし、使ってるのが外にばれたら踏み台にされるだけ)。

で、だいたい問題ありません。
4.5 か 4.6 かについてはVS2015で作った(または2013に拡張キットを入れた)か、4.6の機能を使っているかで選べばいいと思います。
あとは、app.config がある場合は(コピーしなくてもよい)それにバージョンが書かれてるのでそれを見て判断すればいいと思います。

それとすでに指摘されてますけど、配布するのは Debug版ではなく Release 版です。。

引用返信 編集キー/
■79157 / inTopicNo.6)  Re[2]: 他のパソコンでプログラムを起動させる
□投稿者/ 2fuu8 (1回)-(2016/03/11(Fri) 15:56:37)
2016/03/11(Fri) 16:07:11 編集(投稿者)

No79124 (774RR さん) に返信
> 「インストーラ」を作って提供するもんだ。

お教えいただき有難うございます。インストーラを作る事にいたしました。

> ねえ、もうちょっと識別可能な「名前」つけない?

すみませんでした。つけさせていただきました。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -