Skip to content

Commit

Permalink
fix #196
Browse files Browse the repository at this point in the history
  • Loading branch information
YehudaKremer committed May 18, 2023
1 parent 0c73486 commit f4460dc
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 6 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 3.12.3

- fix [#196](https://github.com/YehudaKremer/msix/issues/196)

## 3.12.2

- brings back Isolates for faster icons generation (after remove them in `3.12.0`)
Expand Down
5 changes: 4 additions & 1 deletion lib/src/configuration.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import 'package:pub_semver/pub_semver.dart';
import 'package:yaml/yaml.dart';
import 'command_line_converter.dart';
import 'method_extensions.dart';
import 'sign_tool.dart';

/// Handles loading and validating the configuration values
class Configuration {
Expand Down Expand Up @@ -242,7 +243,9 @@ class Configuration {
throw '"publisher display name" is too long, it should be less than 256 characters';
}

if (!certificatePath.isNull || signToolOptions != null || store) {
if (!certificatePath.isNull ||
(SignTool.isCustomSignCommand(signToolOptions)) ||
store) {
if (!certificatePath.isNull) {
if (!(await File(certificatePath!).exists())) {
throw 'The file certificate not found in: $certificatePath, check "msix_config: certificate_path" at pubspec.yaml';
Expand Down
12 changes: 8 additions & 4 deletions lib/src/sign_tool.dart
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ class SignTool {
if (_config.publisher.isNullOrEmpty) {
String subject = '';

if (_config.signToolOptions != null) {
if (isCustomSignCommand(_config.signToolOptions)) {
if (_config.signToolOptions!.containsArgument('/sha1')) {
subject = await _getCertificateSubjectByThumbprint();
} else if (_config.signToolOptions!.containsArguments(['/n', '/r'])) {
Expand Down Expand Up @@ -205,10 +205,9 @@ class SignTool {

String signtoolPath =
'${_config.msixToolkitPath}/Redist.${_config.architecture}/signtool.exe';
List<String> signtoolOptions = ['/v'];
List<String> signtoolOptions = _config.signToolOptions ?? ['/v'];

if (_config.signToolOptions != null &&
_config.signToolOptions!.isNotEmpty) {
if (isCustomSignCommand(_config.signToolOptions)) {
signtoolOptions = _config.signToolOptions!;
} else if (_config.certificatePath != null) {
switch (extension(_config.certificatePath!).toLowerCase()) {
Expand Down Expand Up @@ -247,4 +246,9 @@ class SignTool {
])
..exitOnError();
}

static isCustomSignCommand(List<String>? signToolOptions) =>
signToolOptions != null &&
signToolOptions.isNotEmpty &&
signToolOptions.containsArguments(['/sha1', '/n', '/r', '/i', '/f']);
}
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: msix
description: A command-line tool that create Msix installer from your flutter windows-build files.
version: 3.12.2
version: 3.12.3
maintainer: Yehuda Kremer (yehudakremer@gmail.com)
homepage: https://github.com/YehudaKremer/msix
issue_tracker: https://github.com/YehudaKremer/msix/issues
Expand Down

0 comments on commit f4460dc

Please sign in to comment.