Skip to content

Commit

Permalink
Change build & release policy
Browse files Browse the repository at this point in the history
Due to changing the release staff, unfortunately the release format
of v22.2 and v22.3 was different from before. Although it's not
intentional, we have decided to take this opportunity to change our
release policy to follow the policy of our other products:

* Don't make differences in functionality between the public version and
  the product version anymore
* Use self-signed certification instead of ClearCode's one for signing
  the public version of the Add-on
* Don't sign the public version of the installer anymore
  • Loading branch information
ashie committed Sep 11, 2023
1 parent c2839c0 commit 1c4f9c8
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 40 deletions.
1 change: 0 additions & 1 deletion .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ jobs:
(Get-Content FlexConfirmMail.csproj) -Replace '<ManifestCertificateThumbprint>[^<]*',("<ManifestCertificateThumbprint>" + $cert.Thumbprint) | Set-Content FlexConfirmMail.csproj
- name: Compile
run: |
cp Global.public.cs Global.cs
msbuild /p:Configuration=Release
- name: Make Installer
run: iscc.exe FlexConfirmMail.iss
Expand Down
12 changes: 0 additions & 12 deletions Global.public.cs

This file was deleted.

35 changes: 27 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,12 @@ FlexConfirmMail for Outlook
* `個別のコンポーネント > Visual Studio Tools for Office (VSTO)`
3. 開発用のOfficeアプリを用意します(任意)
* コンパイルのみであれば必要ありませんが、用意すると開発上は便利です。
4. Visual StudioでFlexConfirmMailプロジェクトを開きます。
5. VSTO開発用のダミー証明書を生成します
* [Microsoftの開発者プログラム](https://developer.microsoft.com/en-us/microsoft-365/dev-program)があり、サインアップすると開発用のAzure AD組織を作ることができ、かつ無償でMS365版のOfficeを使えます。組織は90日使わないと無効化されます。
4. Inno Setupの最新版をインストールします(インストーラをビルドする場合)
* `Path`環境変数にInno Setupのパス(標準では`C:\Program Files (x86)\Inno Setup 6`)を追加します。
* Inno Setupのバージョンにより生成されるインストーラのサイズが変わってきますので注意して下さい。本記事執筆時点の最新版は6.2.2です。
5. Visual StudioでFlexConfirmMailプロジェクトを開きます。
6. VSTO開発用のダミー証明書を生成します
* ソリューションエクスプローラでFlexConfirmMailを右クリックします。
* Properties > Signing (プロパティ > 署名)を順に選択します。
* 証明書欄に何か妥当な証明書の情報が表示されている場合、ダミー証明書はすでに生成済みです。
Expand All @@ -40,14 +44,29 @@ FlexConfirmMail for Outlook
3. 証明書データベースのクライアント証明書のうち1つが表示されます。
「FlexConfirmMailSelfSign」が表示されている場合、「OK」ボタンをクリックして選択します。
そうでない場合、「その他」をクリックしてクライアント証明書の一覧から「FlexConfirmMailSelfSign」を選択し、「OK」ボタンをクリックして選択します。
6. ビルドを開始します。
7. ビルドを開始します。

**リリース**

1. 以下のファイルに埋め込まれているバージョン情報を更新する
1. 以下のファイルに埋め込まれているバージョン情報を更新します
* Global.cs
* Global.public.cs
* FlexConfirmMail.iss
2. Visual Studio 2019でビルドする。
3. `FlexConfirmMail.iss`をInno Setupでビルドする。
4. `dist`フォルダー配下に作成されたインストーラを公開する。
2. 上記をコミット・プッシュします。
3. アドオン署名用の証明書を公開用のものに切り替えます。
* Properties > Signing (プロパティ > 署名)
* デフォルトで設定されている証明書は製品用のものです。公開用証明書に切り替えたFlexConfirmMail.csprojはコミット・プッシュしないで下さい。
4. make.batを実行します。
* 公開版のインストーラは`public`フォルダー配下に作成されます。
* 製品版をビルドする場合はmake-signed.batを使用します。
* 製品版用のコードサイニング証明書が必要です。
* アドオン署名用の証明書を公開版に変更している場合は`git reset --hard HEAD`で製品版に戻して下さい。
* 製品版インストーラは`dest`フォルダー配下に作成されます。
5. GitHubでリリースを作成し、上記で作成した公開版インストーラをアップロードします。
* https://github.com/FlexConfirmMail/Outlook/releases
6. flexconfirmmail.comの次のページを更新します。
* [FlexConfirmMail > ダウンロード](https://github.com/FlexConfirmMail/flexconfirmmail.github.io/blob/main/source/download.rst)
* [FlexConfirmMail > 開発情報](https://github.com/FlexConfirmMail/flexconfirmmail.github.io/blob/main/source/support.rst)
* [FlexConfirmMail > サンキューページ](https://github.com/FlexConfirmMail/flexconfirmmail.github.io/blob/main/source/thankyou.rst)
* [v22.2の例](https://github.com/FlexConfirmMail/flexconfirmmail.github.io/commit/71e007d46eaed0102c6dfb08ddf6f2567fdcc5aa)
3. リリースノートを書いて投稿します。
* [v22.2の例](https://github.com/FlexConfirmMail/flexconfirmmail.github.io/blob/main/source/changelog/v22.2.rst)
12 changes: 8 additions & 4 deletions make-public.bat → make-signed.bat
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,24 @@ set timestamp=http://timestamp.sectigo.com
@REM ==================
@REM Compile C# sources
@REM ==================
copy /Y Global.public.cs Global.cs
msbuild /p:Configuration=Release

@REM ==================
@REM Build an installer
@REM ==================
iscc.exe /Opublic FlexConfirmMail.iss
iscc.exe FlexConfirmMail.iss

@REM ==================
@REM Sign the installer
@REM ==================
signtool sign /t %timestamp% /fd SHA256 /sha1 %cert% public\FlexConfirmMailSetup*.exe
signtool sign /t %timestamp% /fd SHA256 /sha1 %cert% dest\FlexConfirmMailSetup*.exe

@REM ==================
@REM Add suffix to name
@REM ==================
powershell -C "Get-ChildItem public\*.exe | rename-item -newname { $_.Name -replace '.exe', '-Free.exe' }"
powershell -C "Get-ChildItem dest\*.exe | rename-item -newname { $_.Name -replace '.exe', '-signed.exe' }"

@REM ==================
@REM Compress templates
@REM ==================
powershell -C "Compress-Archive -DestinationPath dest\FlexConfirmMailADMX.zip policy"
17 changes: 2 additions & 15 deletions make.bat
Original file line number Diff line number Diff line change
@@ -1,11 +1,3 @@
@REM Defines the certificate to use for signatures.
@REM Use Powershell to find the available certs:
@REM
@REM PS> Get-ChildItem -Path Cert:CurrentUser\My
@REM
set cert=73E7B9D1F72EDA033E7A9D6B17BC37A96CE8513A
set timestamp=http://timestamp.sectigo.com

@REM ==================
@REM Compile C# sources
@REM ==================
Expand All @@ -14,14 +6,9 @@ msbuild /p:Configuration=Release
@REM ==================
@REM Build an installer
@REM ==================
iscc.exe FlexConfirmMail.iss

@REM ==================
@REM Sign the installer
@REM ==================
signtool sign /t %timestamp% /fd SHA256 /sha1 %cert% dest\FlexConfirmMailSetup*.exe
iscc.exe /Opublic FlexConfirmMail.iss

@REM ==================
@REM Compress templates
@REM ==================
powershell -C "Compress-Archive -DestinationPath dest\FlexConfirmMailADMX.zip policy"
powershell -C "Compress-Archive -DestinationPath public\FlexConfirmMailADMX.zip policy"

0 comments on commit 1c4f9c8

Please sign in to comment.