• 締切済み

導入済みのC++を利用したり確認するのは簡単ですか

プログラムに詳しくない者の質問です。 いろいろあいまいな点はご容赦ください・・・ 世間に出まわっているパソコンで使用するソフトウェアやドライバのうち、 ソフトウェアの解凍・展開や動作そのものに、.NETやVisual C++を利用するものがあると思います。 仮に、あるソフトウェアを作成し、解凍・展開・動作用に.NETやVisual C++を内包もしくは添付し、 ひとかたまりのexeファイル等にパッケージ化したとします。 また、別パソコンですが、そのソフトウェアのインストール先のSystemやProgram Files内には、 同バージョンの.NETやVisual C++がインストールされていたとします。 質問です。 プログラムする人にとって、インストール済みとパッケージ内の.NETやVisual C++の各種ファイルを突合し、 必要なファイルはインストール済みのものを使用し、不足なファイルはパッケージ内からインストールし、 正しくソフトウェアが動作するようにプログラムを作りこむことは難しいでしょうか。 同様に、ソフトウェア専用や、(できるかどうかはわかりませんが)展開時だけ利用するVisual C++用のフォルダを作成し、 それを利用して展開させるようにプログラムを作りこむことは、難しいのでしょうか。 ----- お金をかけてソフトウェアを作ってもらったのですが、 インストールすると、ソフトウェアや.NET、Visual C++の構成ファイルがCドライブ直下に120個ほど裸で解凍され、 PC使用者のスキルや誤操作の面でルール作りをしなければならず、ちょっと困っています。 不可視のiniやdllファイルなども作成されていますし、インストール前の状態を確認できるパソコンがありませんので、 仮に新規フォルダに整理するとしても、社内の人間では明確な判断ができません。 ソフトウェア作製業者は、「たしかに(展開用ファイルが)インストール済みでも、新たに解凍するが、 ソフトが使用できるならばそれ以上問題ないだろう」 「構成ファイル一覧表などはソースに当たるので、著作権の点で開示できない」とのことです。 著作権はこちらにあると思いますし、たしかにソフトが使えはするのですが、もうちょっと整理してほしいかと。。。

みんなの回答

  • annys2000
  • ベストアンサー率48% (255/523)
回答No.5

元プログラマーです。 開発時に.NETやVC++のランタイムを使うようにすることは簡単です。すくなくともプロ(金をとる)ならば。 そんな作りにして、ランタイムのセキュリティーアップデートなど、どうするつもりだったのでしょう。 最終的には契約がどうなっていたのかに尽きるのですが、バグが出ても直してくれないとか、とんでもないことになりそうです。 まともな業者で作り直しをお勧めします。

回答No.4

まっとうなソフトだとインストールするときに、ちゃんと専用のフォルダに必要なファイルを展開しますけどね。 たとえば、ソフトをインストールするときに、「xxxx.dll というファイルは存在するファイルの方が新しいですが、ファイルを書き換えますか?」のような質問を見かけた事があると思いますが、これが、まさに、「必要なファイルはインストール済みのものを使用し、不足なファイルはパッケージ内からインストール」しているわけですね。 私も、自分でしか使わないソフトとか、自分の管理範囲でしか使わないソフトなら、設定ファイルを c:\ においてサボることはありますが、その場合でも、dll なんかは、専用のフォルダに置きますね。

回答No.3

> 構成ファイル一覧表などはソースに当たるので、著作権の点で開示できない ファイル名のように短いものは、著作権による保護の対象にならないことが多いです。 また、そのファイル同士がどのような関係を持っているかという情報があったとしても、それは単に事実を記述したものであるので、著作権による保護の対象とはなりません。 そもそも、.NET FrameworkやVisualC++のランタイム部分は、システム全体で共有するようためにシステム部分にインストールされることが前提になっています。アプリケーションのフォルダにおかれた場合、バグやセキュリティの問題が発見されて更新版が提供されても、そのアプリケーションは古いものを使い続けることになります。 しかも、Cドライブ直下とはね。 同じような展開方法をとるソフトが別にあったとして、両方を同じマシンにインストールして同名ファイルが上書きされたりしたら、「ソフトが使用できる」という前提も崩れると思いますが。 このような点を考えずに、「ソフトが使用できるならばそれ以上問題ないだろう」とかいう業者とは、付き合い方を考えた方がいいのではないかと思います。

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

>インストールすると、ソフトウェアや.NET、Visual C++の構成ファイルがCドライブ直下に120個ほど裸で解凍され 納品されたのは.zip等の圧縮ファイルなのか、.exeや.msi等のインストール用のパッケージなのか、どちらなのでしょう? .zipの圧縮ファイルの場合、「自分でフォルダを作成して、その中に展開」しろ。 ということなのかも知れません。 まぁ、その場合はアンインストールはフォルダごと削除しろ。とかいうことになるかも知れませんが…。 インストール用のパッケージであれば…動作に必要なランタイムも同梱(Microsoftのサイトから取得できるモノでも、一緒に格納しておく…など)しておくことも可能…かと。 手を抜いてその辺りの処理をしていないのでしょうけど。 仕事ぶりとしてどうなのよ…とは思いますが。

tebentou
質問者

お礼

ご回答ありがとうございます。 >納品されたのは.zip等の圧縮ファイルなのか、.exeや.msi等のインストール用のパッケージなのか、どちらなのでしょう? exeファイルです。 実行するとソフトウェアの主構成ファイル群のアーカイブもCドライブ直下に展開され、 展開後に同階層のバッチファイルが起動し、ソフトウェア主構成ファイルを同階層に解凍します。 したがいまして、ソフトウェア本体も裸でCドライブ直下にあります。 「プログラムの追加と削除」画面に名前が表示されるので、結果的にインストールという扱いだと思います。 ためしに展開されたファイルを別階層に移動すると、ソフト起動中や使用中にフリーズしたり、 文字表示のないアラートウィンドウが表示され、使用できなくなります。 今気が付きましたが、あまり重要ではないですが、インストール先にあった同名ファイル(Readme.txtやInstall.txt)は 差し替わってしまっていました。 >仕事ぶりとしてどうなのよ…とは思いますが。 やはり、そう思われるのが普通なのですね。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「お金をかけてソフトウェアを作ってもらった」というなら (特に「会社として」発注したというなら) 本来その辺は詰めておくべきだったところ. 特に「著作権がどちらにあるか」が契約に書かれていないのであれば, 著作権は「ソフトウェアを作った業者に存在する」ということになります. とはいえ, その「ソフトウェア作製業者」もどうかと思うなぁ.... 「たしかに(展開用ファイルが)インストール済みでも、新たに解凍するが、ソフトが使用できるならばそれ以上問題ないだろう」とか言い放つようなところは, 「ソフトウェアを作る」のが精いっぱいでそれ以上頭が回らないように感じてしまう. 可能なら, (勉強代だと割り切って) 別の業者に改めて作ってもらった方がいいような気がする. もちろん, そのときには「インストールするとどのようになるのか」とか「著作権をどちらが持つのか」もきちんと詰めておくということで.

tebentou
質問者

お礼

回答ありがとうございます。 私は事務職で、ある程度パソコンに詳しいというだけで、セットアップ作業とかをしています。 契約書上は不明ですが、あくまで口頭で、ソフトウェアの構成ファイルは所定のフォルダにまとめるよう相互認識があったようです。 口頭の信用だけではだめなのですね。

関連するQ&A

  • C/C++

    こんばんわ 最近C/C++を始めたものです 最終的な目的はC/C++で書いた掲示板を作成し、 サイトのコンテンツの一部とすることなのですが まだ始めたばかりなので hello worldのスクリプトを作ることにしました 今はvisual studio .NET を使っているのですがvisual studio .NET を使わないでプログラムをウェブサーバ上で 動かすことは出来るのでしょうか? また出来るとしたらそれに必要なソフトウェアはどのようなものが必要なのでしょうか? それとvisual studio .NETを使い、コンパイルやリンクを行うとvcprojやicoやncbなど色々な拡張子のファイルが出来るのですが どのファイルにアクセスすればhello worldという文字のスクリプトを見ることが出来るのでしょうか? 最後にコンパイルはマシン語にすることなのはわかるのですがリンクとはなんなのでしょうか? リンク と調べると当たり前のようにハイパーリンクの説明が出てきまして・・・ 一気にいくつも質問をさせていただきましたが ばらばらに質問するよりはいいかなと思い一気にさせていただきました どれか一つでもご存知の方おられましたら是非 ご教授ください よろしくお願いします

  • 権限昇格の確認を出さないプロダクトIDの取得方法

    Visual Studio2013で 一つのソリューションの中でC#とC++を使って開発を行っています。 C++でWindowsのレジストリを読む処理を書いたところ開発環境では問題なく動作したのですが 別のPCでは管理者権限として実行しないと読めませんでした。 そこでネットの情報を参考にVisual Studioでマニフェストファイルを作成し起動時に管理者に昇格させるようにしました。 レジストリを読む処理は問題なく動作したのですが、必ず「権限昇格の確認ダイアログ」が出てしまいます。 ネットで調べたところ、プログラムを「Program Files」以下に置かなければでないような記述を見たので \C直下に置いたのですが変わらず「権限昇格確認ダイアログ」が出てしまいます。 「権限昇格確認ダイアログ」を出さずにレジストリを読むために何が必要でしょうか? (作成したexeのプロパティ-互換性 から特権レベルを変更するではなく、プログラムでどうにか出来ないかを考えています) また、UACが有効だと問題が起こる可能性があるとの記事も見つけました。 UACは有効にしないほうがよいのでしょうか? http://dobon.net/vb/dotnet/system/uac.html 確かに「権限昇格の確認ダイアログ」が出るようになってからプログラム内部からexeを起動している箇所で実行環境だとexeの起動が出来なくなってしまいました。 よろしくお願いします。 開発環境  Windows7 32bit  Visual Studio2013 インストール済   実行環境  Windows7 32bit  .Net 4.5 インストール済  VisualStudio 2013 の Visual C++ 再頒布可能パッケージインストール済   読みたいレジストリ  WindowsのProductID   ※VBで作られたアプリですが、「権限昇格の確認ダイアログ」を出さずに ProductIDを表示するアプリを見たことであるので何かしらやり方はあるのでは?と思っています。

  • Visual C# 2008 無償版について

    先日Visual C# 2008 Express Editionをインストールし、 プログラムを作成したのですが、使用可能期間がせまってきています。 もし、使用可能期間を過ぎてしまったら、作成したプログラムも 実行できなくなってしまうのでしょうか? お教えください。よろしくお願いします。

  • Microsoft Visual C++ 20XXの後方互換について

    Microsoft Visual C++ 20XXの後方互換について Microsoft Visual C++ 2005 再頒布可能パッケージ Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ Microsoft Visual C++ 2008 再頒布可能パッケージ Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ Microsoft Visual C++ 2010 再頒布可能パッケージ 再頒布パッケージとしてよく出回っているのが上記の5種だと思いますが、後方互換機能はないのでしょうか? 一つ一つは気になるほどのサイズではないにしても出来ることならインストールするプログラムは少なく済ませたいと思っております。

  • C++でファイル実行について。

    最近C++の勉強を始めたばかりなのですが、 C++で作成したプログラムでファイル(例えばjpegやmp3)を実行する事は可能なのでしょうか?宜しくお願いします。 Visual Studio .NET 2003を使用しています。

  • c# .Net Frameworkが不要なExeの作成

    Visual Studio 2008でC#のプログラムを作成したのですが、.Net FrameworkがインストールされていないPCでは使用できません。Exeに.Net Frameworkを含めることはできますか?

  • Visual C++.NET 勉強するのに最適な本は?

     御世話になります。  C言語の基礎知識は、あるのですが、 Visual C++.NET でプログラムを作成する必要があり、 勉強しようと思うのですが、 勉強するのに最適な本は、なんでしょうか?  ちなみに、Visual C++.NET 2003を使用する予定です。

  • Borland C++ Compiler5.5がインストールできません。

    タイトルにも書いたとおり、Borland C++ Compiler5.5がインストールできません。一度インストールし、色々あって(トラブルではありません)再インストールしようと、ボーランドのページに行き、ダウンロードし、インストールしようとしたところ、ダウンロードしたファイルが展開できません。次のようなメッセージが出てきます。 「パッケージを解凍するのに、ドライブc:\に十分な空き容量がありません。50.54MBあけて、[再試行]をクリックしてください」 Cドライブの空き容量は40GBも空き容量があります。もちろん、再ダウンロードも再起動もしました。 なにが駄目なのでしょうか。 ご回答よろしくお願いします。

  • C++が未インストールの端末でのexe実行

    初めてまだ2日目の初心者です。 Microsoft Visual C++ 6.0でプログラムを作成しています。 まずは参考書通りに作成してみて、リビルド→exeの作成までは上手くいきました。 作成されたexeファイルをプログラムを作成した端末で実行すると問題なく動作するのですが、 実際にそれを動かしたい端末(C++をインストールしていません)で動かすと 『MFC42.DLLが指定されたパス ○○;○○;○○ に見つからない』というエラーメッセージが出てしまいました。 (○○はパスです。例えばD:\Test) C++で作成したプログラムの実行にはMFC42.DLL,MSVCRT.DLLの2つが必要と あったのでMFC42.dllで検索をかけたところ、見つからないと表示された○○に ちゃんと存在していました。 無いのなら作成端末のDLLをコピー・貼り付けすれば良いかな、と思っていたのですが 今あるファイルに上書きしてよいものやら困っています。 C++をインストールしてSPをあてれば解決するのでしょうが、 エラーがでている端末にはC++をインストールしてはいけないと言われました。 C++未インストールマシンでexeを実行する為にはどうしたらよいか ご存知の方、教えてください!!

  • c++をnetで使いたい

    studio.netで 新規作成→プロジェクトで visual basicプロジェクトがあるのですが、 visual c++がありません。 インストールは正常に行われていたのですが… なにかc++を使うには設定をしなければならないのでしょうか?