ホーム » VS インストーラ

VS インストーラ」カテゴリーアーカイブ

2024年4月
 123456
78910111213
14151617181920
21222324252627
282930  

カテゴリー

アーカイブ

ブログ統計情報

  • 80,145 アクセス



msi でインストールを実行できない

Win10 環境に msi でインストールしようとすると…
[Window Title]
Windows インストーラー
[Main Instruction]
システム管理者によって、ポリシーはこのインストールを実行できないように設定されています。
[OK]
Windows インストーラー
システム管理者によって、ポリシーはこのインストールを実行できないように設定されています。
検索すると「ローカルセキュリティポリシー」の設定などが見つかる.
ローカルセキュリティポリシー
他の Win10 を確認すると,同様に定義されていない.
この現象の環境は Windows Update があり,その更新後起動した状態のもの.


ポリシーを追加しようかと思ったが,念のため一度再起動.
すると,何もなかったかの様にインストールできる様になった.
何だったのだろう.


2024/04/17
また同じ現象に.
今度は,再起動する前に幾つかの exe を終了しながら確認.
ブラウザなど,メモリをそこそこ食っているものを終了.これは変わらずインストールできない.
「エクスプローラー」の「このディスプレイのすべてのウィンドウを閉じる」でインストールできる様になった.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

VS インストーラ 対象 OS

先日,.NET の ZipFile クラス使用した exe を作成した.
Win10 以降の環境では特に問題ないと思うが,テスト用に Win7 などでも同じ msi にしたかった.


VS Installer target OS」で検索.
DOBON.NET 起動条件エディタの使い方
01264 : Windows Installer プロパティを使用した条件の設定
03192 : MSI で Windows 10 を判定する方法
Windows インストーラー
MDAC バージョンを確認する


調べるといろいろとできそうだが,今回は Win8 以前であれば iZIP.exe をインストールしない様に.
.NET Framework のバージョンおよび依存関係
VS インストーラ  Condition VersionNT>602
exe のプロパティの「Condition」に「VersionNT>602」.
これで,Win7 には入らず,Win10 にはインストールされることを確認できた.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

VS Installer 2022

以前 VS 2017 などで「VS インストーラ」プロジェクトを作成した.
今回は VS 2022 で使用できる様にする設定など.
*「VS インストーラ」は,VS 2012 と VS 2013 にはなさそう.


先ず,プロジェクト テンプレートの追加.VS の「拡張機能の管理」メニューを選択.
検索ボックスに「Installer」と入力.
VS 2022  「VS Installer プロジェクト テンプレート」の追加
「ダウンロード」ボタンを押して,一度 VS を終了させる.
「VS Installer 2022 プロジェクト テンプレート」のインストール


「新しいプロジェクトの追加」で「Installer」と入力.
VS 2022  プロジェクトの追加  Installer
「Setup Project」を選択して「次へ」.あとはプロジェクト名を指定して「作成」.


「File System」のウィンドウを開き「Application Folder」を選択.
エクスプローラなどから exe をドロップ.
VS インストーラ  exe の追加


プロジェクトの「プロパティ」.

AddRemoveProgramsIcon 「アプリと機能」で表示されるアイコンの指定
Description
ProductName 製品名 インストール先フォルダ名にも使用される
RemovePreviousVersions 「True」に

VS Installer プロジェクトのプロパティ


必要に応じて「Application Folder」-「プロパティ」-「Default Location」を変更.


「ツリー」の「Install」-「Start」-「インストール フォルダー」を選択.
プロパティの「InstallAllUsersVisible」を Flase に.
「InstallAllUsersVisible」を「Flase」に

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

VS Installer

久しぶりにインストーラを…
今までのものは「VS インストーラ」.


前も使ったが忘れていた.アンインストールで,ファイルをそのまま残す設定.
「Permanent」を「True」に.
アンインストール時,ファイルをそのまま残す


ショートカットなどを作成すると,アンインストール時に時間がかかってしまう.
それで,以前は使ってなかったが,更新版のインストール.
「RemovePreviousVersions」を「True」に.
「Version」を更新する.同様に exe などの更新も必要.bmp などはタイムスタンプでいける?
更新版の設定


Patching and Upgrades

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Win 10 Pro 10240 にインストールできない

2015/03 頃はインストールできたと思うが…


2015/09/11
IIS をアンインストールして,インストール(「Windows の機能の有効化または無効化」)してみたがダメ.


手作業で環境を作成しようとして…
  オートメーションの部分が起動できない.
幾つかのいつもの設定は行ってたが,ちょっと忘れていて,
  exe などを置いていたフォルダのアクセス権を正しく設定してなかった.
  他に今回の固有の環境であるが,レジストリから登録情報を削除する必要もあった.


うまく動作したのは VC 8 Static MFC だったが VC 12 DLL にすると,またうまく動作しない?
VC 12 Static にしてもダメで VC 8 Static に戻したのに,今度はうまくない.
Win 10 を再起動してうまく通った.
うまく動作しなくなった後,タスクマネージャから終了できないものがありそれが影響するのか?


もう一回 VC 12 でビルドしたものにチャレンジ.
VC 12 Static MFC は通った.
VC 12 DLL MFC でも通り,結局原因は掴めず.


今回の事とは直接関係ないが,エクスプローラが何度か落ちた.
OS 自体の問題なのか,作成した シェルエクステンション の問題なのかは不明.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

vsdrfCOM でエラー

VS 2005 のセットアッププロジェクトで,exe の「Register」を「vsdrfCOM」としてビルドすると,
—————————
AsTM0317.exe – アプリケーション エラー
—————————
“0x5cac9a9c” の命令が “0x0000005c” のメモリを参照しました。メモリが “read” になることはできませんでした。
プログラムを終了するには [OK] をクリックしてください
—————————
OK
—————————
 0x0000005c のメモリを参照しました
—— ビルド開始: プロジェクト: TestSet3, 構成: Debug ——
ファイル ‘C:\…\TestSet3\TestSet3\Debug\TestSet3.msi’ をビルドしています…
警告: ‘AsTM0317.exe’ というファイルのレジストリ情報を作成できません
警告: Windows インストーラは、どの選択された必須コンポーネントにも含まれていません。
ファイル ‘AsTM0317.exe’ をパッケージしています…
ファイル ‘AsImgCnv.exe’ をパッケージしています…
========== ビルド: 1 正常終了または最新の状態、0 失敗、0 スキップ ==========


AsImgCnv.exe の方はエラーの表示はない.
VS 2002 や 2008 では,OK.
また,vsdrfCOMSelfReg の場合も OK.


2015/03/20
vsdrfCOMSelfReg とした場合,そのままではインストール時にダイアログから表示されていた.
/RegServer , /UnRegServer が指定された場合,ダイアログを表示しない様に対応.
   BOOL isReg = FALSE ;
   {
     if (::FindNoCase(m_lpCmdLine,_T( “/REGSERVER”)) >= 0) { isReg = TRUE ; }
     else if (::FindNoCase(m_lpCmdLine,_T( “-REGSERVER”)) >= 0) { isReg = TRUE ; }
     else if (::FindNoCase(m_lpCmdLine,_T(“/UNREGSERVER”)) >= 0) { isReg = TRUE ; }
     else if (::FindNoCase(m_lpCmdLine,_T(“-UNREGSERVER”)) >= 0) { isReg = TRUE ; }
     }
   if (!isReg) {
     CAsImgCnvDlg dlg;
     m_pMainWnd = &dlg;
     int nResponse = dlg.DoModal();
     if (nResponse == IDOK) {
       }
     else if (nResponse == IDCANCEL) {
       }
     }

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

セットアッププロジェクト

カスタム動作の追加
 「ソリューションエクスプローラ」で「右クリック」-「表示」-「カスタム動作」
 起動ポイントは, /Install /Commit /Rollback /Uninstall

カスタム動作の作成

MsgBox.exe では期待した動作となる.
動作として exe の終了を待つ様で,MakeCMF.exe の様な起動したままにするような動作には向かない.
試しに,MakeCMF.exe /Commit とすると,終了まで待ち,終了時にエラーとなる.
Setup Commit
その後,/Rollback が働き,インストールがキャンセルされる.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

「すべて…/このユーザのみ」の選択を表示させない

インストール時に,「すべてのユーザ」/「このユーザのみ」の選択を表示しない設定.

  1. メニューの「表示」-「エディタ」-「ユーザーインターフェイス」で設定ウィンドウを表示する.
  2. ツリーの「インストール」-「開始」-「インストールフォルダ」を選択.
  3. プロパティの「InstallAllUsersVisible」を Flase に.

必要に応じて,「配置プロジェクトのプロパティ」の「InstallAllUsers」を設定すること.


2021/11/17
メニューの「表示」-「Editor」-「ユーザー インターフェース」.
または「プロジェクト」-「右クリック」-「View」-「ユーザー インターフェース」.
「ツリー」の「Install」-「Start」-「インストール フォルダー」を選択.
プロパティの「InstallAllUsersVisible」を Flase に.
「InstallAllUsersVisible」を Flase に.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

インストールイメージのファイルの追加

インストールされるフォルダイメージのルートフォルダをドロップすれば良い.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

CommonAppDataFolder にインストールしたい

CommonAppDataFolder 以下に,ファイルをインストールする

  1. 「特別なフォルダの追加」-「カスタムフォルダ」でフォルダを作成.
  2. プロパティの「DefaultLocation」を "[CommonAppDataFolder]" と入力.
    [CommonAppDataFolder][Manufacturer][ProductName] などとしても良い.

System Folder Properties
http://msdn.microsoft.com/en-us/library/aa372057(VS.85).aspx

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.