wixgem 0.111.0 → 0.113.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/file.rb +1 -1
- data/lib/registry_key.rb +8 -7
- data/lib/service.rb +1 -1
- data/lib/shortcut.rb +1 -1
- data/lib/wixgem.rb +13 -13
- metadata +4 -6
- data/example/example.msi +0 -0
- data/example/example.msm +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 61691800908ea58cafe48e3d64dd94792c57313ece6b300aec171a9a3e99e2bc
|
4
|
+
data.tar.gz: 17927fee159af1eac9a74c0cde74251e671c99ddde31239e773393f3e9899826
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 84b6754b8743ed00ff0fed0c25e2675d9c35b48746deb1b851732234646baa7961accce9a362610849fe89c6815079654be12c1cf673477c53616156d6efc023
|
7
|
+
data.tar.gz: 0eddcdf7dabaf88114d0ea472c96364dc56500e84827becccbef9e7ce87d3eb528660b39c14e65ed977aff531991ab8351221d62f100dff88b835125fefe4973
|
data/lib/file.rb
CHANGED
@@ -2,7 +2,7 @@ require 'win32ole'
|
|
2
2
|
|
3
3
|
class File
|
4
4
|
def self.read_only?(path)
|
5
|
-
raise "'#{path}' does not exist" unless(File.
|
5
|
+
raise "'#{path}' does not exist" unless(File.exist?(path))
|
6
6
|
|
7
7
|
fso = WIN32OLE.new('Scripting.FileSystemObject')
|
8
8
|
raise 'Failed to create Scripting.FileSystemObject' if(fso.nil?)
|
data/lib/registry_key.rb
CHANGED
@@ -19,8 +19,8 @@ class RegistryKey
|
|
19
19
|
raise 'Registry value must have name, value, and type elements'
|
20
20
|
end
|
21
21
|
|
22
|
-
registry_keys_component = REXML::XPath.match(@xml_doc, "//Component[@Id='RegistryKeys']")
|
23
|
-
if(registry_keys_component.size == 0)
|
22
|
+
#registry_keys_component = REXML::XPath.match(@xml_doc, "//Component[@Id='RegistryKeys']")
|
23
|
+
#if(registry_keys_component.size == 0)
|
24
24
|
wix_element = REXML::XPath.match(@xml_doc, "/Wix")[0]
|
25
25
|
fragment = wix_element.add_element 'Fragment'
|
26
26
|
component_group = fragment.add_element 'ComponentGroup'
|
@@ -30,12 +30,13 @@ class RegistryKey
|
|
30
30
|
component_ref = default_feature[0].add_element 'ComponentGroupRef', 'Id' => component_group.attributes['Id']
|
31
31
|
|
32
32
|
component = component_group.add_element 'Component'
|
33
|
-
component.attributes['Id'] = '
|
33
|
+
component.attributes['Id'] = "RegistryKey_#{SecureRandom.uuid.gsub(/-/,'')}"
|
34
34
|
component.attributes['Directory'] = 'INSTALLDIR'
|
35
|
-
else
|
36
|
-
puts "component: #{registry_keys_component.to_s}"
|
37
|
-
|
38
|
-
|
35
|
+
#else
|
36
|
+
#puts "component: #{registry_keys_component.to_s}"
|
37
|
+
# component = registry_keys_component[0]
|
38
|
+
#end
|
39
|
+
|
39
40
|
registry_key_element = component.add_element 'RegistryKey', { 'Root' => registry_key[:root], 'Key' => registry_key[:key] }
|
40
41
|
value_element = registry_key_element.add_element 'RegistryValue', { 'Action' => 'write', 'Name' => key_value[:name], 'Value' => key_value[:value], 'Type' => key_value[:type] }
|
41
42
|
end
|
data/lib/service.rb
CHANGED
@@ -14,7 +14,7 @@ class Service
|
|
14
14
|
raise "Service hash is required to have a :name key" unless(@hash[:service].has_key?(:name))
|
15
15
|
|
16
16
|
service_exe = @hash[:service_exe]
|
17
|
-
raise "Service #{file} does not exist" unless(File.
|
17
|
+
raise "Service #{file} does not exist" unless(File.exist?(service_exe))
|
18
18
|
|
19
19
|
file_elements = REXML::XPath.match(xml_doc, "//File[@Source='.\\#{service_exe.gsub(/\//,'\\')}']")
|
20
20
|
raise "Service #{@file} does not match a 'File' element with a 'Source' attribute in the wix generated wix file" if(file_elements.length == 0)
|
data/lib/shortcut.rb
CHANGED
@@ -11,7 +11,7 @@ class Shortcut
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def create(xml_doc)
|
14
|
-
raise "Shortcut #{@file} does not exist" unless(File.
|
14
|
+
raise "Shortcut #{@file} does not exist" unless(File.exist?(@file))
|
15
15
|
|
16
16
|
file_elements = REXML::XPath.match(xml_doc, "//File[@Source='.\\#{@file.gsub(/\//,'\\')}']")
|
17
17
|
raise "Shortcut #{@file} does not match a 'File' element with a 'Source' attribute in the wix generated wix file" if(file_elements.length == 0)
|
data/lib/wixgem.rb
CHANGED
@@ -197,7 +197,7 @@ class Wix
|
|
197
197
|
|
198
198
|
install_files.each do |file|
|
199
199
|
absolute_path = file
|
200
|
-
absolute_path = "#{input[:original_pwd]}/#{file}" unless(File.
|
200
|
+
absolute_path = "#{input[:original_pwd]}/#{file}" unless(File.exist?(file))
|
201
201
|
|
202
202
|
if(File.read_only?(absolute_path))
|
203
203
|
install_path = ".\\#{self.modify_file_path(input, file).gsub(/\//,'\\')}"
|
@@ -295,7 +295,7 @@ class Wix
|
|
295
295
|
|
296
296
|
missing_files = []
|
297
297
|
files.each do |file|
|
298
|
-
if(File.
|
298
|
+
if(File.exist?(file))
|
299
299
|
install_path = file
|
300
300
|
if(input.has_key?(:modify_file_paths))
|
301
301
|
input[:modify_file_paths].each { |regex, replacement_string| install_path = install_path.gsub(regex, replacement_string) }
|
@@ -303,9 +303,9 @@ class Wix
|
|
303
303
|
raise "Invalid relative installation path: #{install_path}" if(install_path.include?(':'))
|
304
304
|
|
305
305
|
install_path = "#{directory}/#{install_path}"
|
306
|
-
FileUtils.mkpath(File.dirname(install_path)) unless(Dir.
|
306
|
+
FileUtils.mkpath(File.dirname(install_path)) unless(Dir.exist?(File.dirname(install_path)))
|
307
307
|
FileUtils.cp(file, install_path, preserve: true)
|
308
|
-
elsif(!File.
|
308
|
+
elsif(!File.exist?(file))
|
309
309
|
missing_files.insert(missing_files.length, file)
|
310
310
|
end
|
311
311
|
end
|
@@ -327,7 +327,7 @@ class Wix
|
|
327
327
|
files.reject! { |f| ingore_files.include?(f) }
|
328
328
|
|
329
329
|
files.each do |file|
|
330
|
-
if(File.
|
330
|
+
if(File.exist?(file))
|
331
331
|
install_path = file
|
332
332
|
if(input.has_key?(:modify_file_paths))
|
333
333
|
input[:modify_file_paths].each { |regex, replacement_string| install_path = install_path.gsub(regex, replacement_string) }
|
@@ -390,7 +390,7 @@ class Wix
|
|
390
390
|
def self.execute_heat(input, cmd_line_options)
|
391
391
|
wix_install_path=install_path.gsub(/\\/,'/');
|
392
392
|
wix_bin_dir = "#{wix_install_path}/bin"
|
393
|
-
wix_bin_dir = "#{wix_install_path}/tools" unless(Dir.
|
393
|
+
wix_bin_dir = "#{wix_install_path}/tools" unless(Dir.exist?(wix_bin_dir))
|
394
394
|
|
395
395
|
heat_cmd = Execute.new("\"#{wix_bin_dir}/heat.exe\" #{modify_heat_commandline(input, cmd_line_options)}", { quiet: true })
|
396
396
|
heat_cmd.execute
|
@@ -561,8 +561,8 @@ class Wix
|
|
561
561
|
|
562
562
|
wix_install_path=install_path.gsub(/\\/,'/');
|
563
563
|
wix_bin_dir = "#{wix_install_path}/bin"
|
564
|
-
wix_bin_dir = "#{wix_install_path}/tools" unless(Dir.
|
565
|
-
raise "Unable to locate candle.exe. Expecting to have a sub directory bin or tools in the wix installtion directory: #{wix_install_path}" unless(Dir.
|
564
|
+
wix_bin_dir = "#{wix_install_path}/tools" unless(Dir.exist?(wix_bin_dir))
|
565
|
+
raise "Unable to locate candle.exe. Expecting to have a sub directory bin or tools in the wix installtion directory: #{wix_install_path}" unless(Dir.exist?(wix_bin_dir))
|
566
566
|
|
567
567
|
ext_args = "-ext WixUtilExtension -ext WixNetfxExtension -ext WixUIExtension"
|
568
568
|
candle_cmd = Execute.new("\"#{wix_bin_dir}/candle.exe\" #{ext_args} -out \"#{wixobj_file}\" \"#{wxs_file}\"", { quiet: true })
|
@@ -590,11 +590,11 @@ class Wix
|
|
590
590
|
@debug = input[:debug] if(!@debug && input.has_key?(:debug))
|
591
591
|
start_logger if(@debug)
|
592
592
|
|
593
|
-
FileUtils.mkpath(File.dirname(output)) unless(Dir.
|
593
|
+
FileUtils.mkpath(File.dirname(output)) unless(Dir.exist?(File.dirname(output)))
|
594
594
|
|
595
595
|
ext = File.extname(output)
|
596
596
|
basename = File.basename(output, ext)
|
597
|
-
FileUtils.rm(output) if(File.
|
597
|
+
FileUtils.rm(output) if(File.exist?(output))
|
598
598
|
|
599
599
|
output_absolute_path = File.absolute_path(output)
|
600
600
|
input[:original_pwd] = Dir.pwd
|
@@ -615,13 +615,13 @@ class Wix
|
|
615
615
|
raise e
|
616
616
|
ensure
|
617
617
|
puts "debug path: #{output_absolute_path}" if(@debug)
|
618
|
-
FileUtils.cp("#{dir}/#{wxs_file}", "#{output_absolute_path}.wxs") if(File.
|
619
|
-
File.open("#{output_absolute_path}.log", 'w') { |f| f.puts(@logger) } if(@debug
|
618
|
+
FileUtils.cp("#{dir}/#{wxs_file}", "#{output_absolute_path}.wxs") if(File.exist?("#{dir}/#{wxs_file}") && @debug)
|
619
|
+
File.open("#{output_absolute_path}.log", 'w') { |f| f.puts(@logger) } if(@debug & !@logger.nil?)
|
620
620
|
end
|
621
621
|
end
|
622
622
|
|
623
623
|
pdb_file = output_absolute_path.gsub(ext,'.wixpdb')
|
624
|
-
FileUtils.rm(pdb_file) if(File.
|
624
|
+
FileUtils.rm(pdb_file) if(File.exist?(pdb_file))
|
625
625
|
|
626
626
|
end_logger if(@debug)
|
627
627
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wixgem
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.113.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Marshall
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: execute
|
@@ -131,8 +131,6 @@ extra_rdoc_files: []
|
|
131
131
|
files:
|
132
132
|
- LICENSE
|
133
133
|
- README.md
|
134
|
-
- example/example.msi
|
135
|
-
- example/example.msm
|
136
134
|
- example/install_files/directory/file2.txt
|
137
135
|
- example/install_files/file1.txt
|
138
136
|
- example/rakefile.rb
|
@@ -147,7 +145,7 @@ files:
|
|
147
145
|
- lib/wixgem.rb
|
148
146
|
homepage: http://rubygems.org/gems/wixgem
|
149
147
|
licenses:
|
150
|
-
-
|
148
|
+
- MIT
|
151
149
|
metadata: {}
|
152
150
|
post_install_message:
|
153
151
|
rdoc_options: []
|
@@ -164,7 +162,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
164
162
|
- !ruby/object:Gem::Version
|
165
163
|
version: '0'
|
166
164
|
requirements: []
|
167
|
-
rubygems_version: 3.
|
165
|
+
rubygems_version: 3.4.15
|
168
166
|
signing_key:
|
169
167
|
specification_version: 4
|
170
168
|
summary: Simple Ruby interface to facilitate working with Wix Toolset
|
data/example/example.msi
DELETED
Binary file
|
data/example/example.msm
DELETED
Binary file
|